Skip to content
Aayush Thakur

Open to internshipsJaipur, IST

I built Zen-Z solo: a live campus app with real users and real revenue.

I’m Zen-Z’s founder and only engineer: I built the app, the admin dashboard and the payments backend. B.Tech CSE at JNU Jaipur, class of 2028.

150+users in 2 days₹33K+revenueLiveon Google Play

Zen-Z home screen: Cafés, Dinners, Movies and Sports, and a Ready to meet card
users in 2 days
150+
revenue so far
₹33K+
views on Instagram
140K+
  • React Native
  • Expo
  • TypeScript
  • Next.js
  • Supabase
  • PostgreSQL
  • PayU
  • Tailwind CSS
  • TanStack Query
  • Edge Functions
  • GitHub Actions
  • Vitest
  • Jest
  • Sentry
  • Vercel
  • Git

02 — Zen-Z · live on Google Play

Meet new people in six steps.

Zen-Z puts college students into small groups and gives each group a plan. This is the booking flow, exactly as it ships.

  1. Zen-Z booking, pick a game: Box Cricket, Football, 8-Ball Pool and Pickleball with prices

    01

    Pick an activity

    A café, a dinner, a movie, or a game: box cricket, football, 8-ball pool, pickleball.

  2. Zen-Z booking, pick a slot: a fixed weekly slot, Sunday 11th at 5:00 pm, selected

    02

    Choose a slot

    One fixed weekly time, so groups actually fill up.

  3. Zen-Z booking, budget range: under ₹200 selected, with ₹200–400 and ₹400+ options

    03

    Set a budget

    Under ₹200, ₹200–400 or ₹400+, so groups spend alike.

  4. Zen-Z booking, group dynamic: Surprise me (mixed) selected, with Women only and Men only

    04

    Pick your group

    Mixed, women only or men only.

  5. Zen-Z booking summary: Cafés, Sunday 11th at 5:00 pm, group of 4–5, under ₹200, Save my seat

    05

    Confirm the plan

    Every choice on one screen before paying. Cafés and dinners are free to book.

  6. Zen-Z payment screen: 8-Ball Pool, Saturday 10th at 6:00 pm, group of 4, ₹70, Pay ₹70

    06

    Pay, then meet

    PayU checkout; only a signed, server-verified webhook confirms the seat. Then you're matched with a small group, and the venue is revealed before the event.

03 — Under the hood

App, admin, backend. One engineer.

The student app, the admin dashboard and the backend with payments. Access rules live in the database, so they hold even if the app has a bug, and money only moves on the server.

App

React Native + Expo

20 screens · Android, iOS (PWA) and web from one codebase

Admin dashboard

Next.js

Drag-and-drop board to hand-match every group, moderation, analytics

Backend

Supabase

  • Postgres28 tables, RLS on every one
  • Edge Functions7, Deno
  • Realtimegroup chat
  • Authemail OTP
  • pg_cron3 jobs

Payments

PayU

Orders created on the server. SHA-512 signed webhooks, verified in constant time, confirm the seat.

Zen-Z, end to end. Everything except the third-party services was designed and built by one person. Tested in GitHub Actions; ships to Google Play (EAS) and Vercel.
Postgres tables, row-level security on every one
28
SQL migrations
102
Edge Functions (payments, push, account deletion)
7
test suites in CI
37
pgTAP assertions against a real database
115
CI jobs on every pull request
11

Owning it · 16 Sep 2026

A paid booking never confirmed. I fixed it the same day.

Read how
  1. Traced it

    A student's UPI payment had gone through, but PayU's webhook never landed and webhook calls weren't logged yet, so the booking still said unpaid.

  2. Fixed it the same day

    Every webhook call is now logged with its outcome, admins get a “Needs your attention” queue, and a tested, admin-only mark-paid tool.

  3. Visible from now on

    Anything unpaid for 10+ minutes, or paid with the slot passed, lands in the admin queue. Every webhook call is on record.

05 — PrelimsDaily

A tested app, built in a day.

  1. 01 · The brief

    1 day

    From an empty repo to a tested app.

    Built for a startup application: one focused UPSC Prelims question set a day, streaks with freezes, a daily target ring, XP and levels. React Native + TypeScript, fully offline.

    PrelimsDaily quiz: a statement-style UPSC question with its explanation
    PrelimsDaily Today screen: streak, daily target ring and weak areas
    PrelimsDaily result: 60% ring, XP earned and streak
  2. 02 · Quality

    72 tests

    Tested like it would ship.

    72 unit tests in 5 suites: local-date maths (never UTC, so a 5 AM session can’t land on “yesterday”), streak transitions, XP curves, and a daily set seeded by the date so it’s identical all day.

    PrelimsDaily profile: accuracy, best streak, level and accuracy by subject
    PrelimsDaily quiz: a statement-style UPSC question with its explanation
  3. 03 · Reminders

    7

    Reminders that know you're done.

    A repeating notification can’t skip today, so the app re-schedules seven one-off reminders whenever anything changes. Finish today’s set and today’s reminder is gone. No server needed.

    PrelimsDaily settings: daily target, reminder toggle and a note that today's reminder is skipped

06 — Stack

The stack, and where it shipped.

Every tool here shipped in a real product: Zen-Z, PrelimsDaily or this site.

Also: Reanimated, Zustand, dnd-kit, Realtime, pg_cron, Expo Push, EAS Update, Brevo, Vitest, Jest, pgTAP.

Every tool, by layer
  • TypeScriptevery project, end to endZen-Z · PrelimsDaily · This site
  • React Native + ExpoZen-Z app and PrelimsDailyZen-Z · PrelimsDaily
  • Next.jsadmin dashboard + this siteZen-Z · This site
  • Supabaseauth, realtime, 7 Edge FunctionsZen-Z
  • Postgres + RLS28 tables, RLS on every oneZen-Z
  • PayUSHA-512 verified webhooksZen-Z
  • Tailwind CSSthis site's design tokensThis site
  • TanStack Queryserver state in the app and adminZen-Z
  • Edge Functions (Deno)payment orders and webhooksZen-Z
  • Vercelweb hostingZen-Z · This site
  • GitHub Actions11-job CI pipelineZen-Z
  • Sentryerror monitoringZen-Z
Aayush Thakur
Founder & CTO, Zen-Z

07 — About

Hi, I’m Aayush.

I’m a third-year B.Tech CSE student at Jaipur National University (graduating 2028, CGPA 8.5/10), and the founder of Zen-Z. I built all of it myself: the Android, iOS (PWA) and web app, the admin dashboard the team uses to match every group, and the Supabase backend with payments.

I like owning a problem end to end, from the data model to fixing it in production. Now I’m looking for an internship where I can do that with a team.

  1. Jul 2026

    Started Zen-Z

  2. Aug 2026

    First commit: schema, app and admin

  3. Sep 2026

    Launched on Google Play (150+ users in 2 days); pitched at Shark Tank

  4. Oct 2026

    Built PrelimsDaily in 1 day

  5. Now

    Running Zen-Z; looking for an internship

Along the way

  • JNU Shark Tank · Sep 2026Pitched Zen-Zto the judging panel at the university's Shark Tank
  • Smart India Hackathon5thof ~75 teams in the internal round
  • Instagram550+followers and 140K+ views on @zen_z.app (opens in new tab)
  • Before launch65+students joined the waitlist