Skip to content
(01/03)  Case studyHealth-tech · Recovery platform

Quit Gambling

A full-stack recovery platform for gambling addiction. Bookings · payments · recovery tools · an anonymous community.

Role
Designed & built end to end
Year
2026

Next.js 16 / React 19 / TypeScript / Supabase / Razorpay / Tailwind

quitgambling.inLive
Quit Gambling: the live site

The real site, interactive, right here

30+
App routes
17
PostgreSQL tables
2 sides
Patient + counselor
RLS
On every table

The problem

Recovery is hard. Doing it alone is harder.

Gambling addiction is isolating and stigmatised. People need a private way to find help, track progress, and reach someone at 2am. So I built one, end to end.

The product

One platform, two sides.

A patient app for recovery and a counselor workspace for care, sharing one secure data model.

quitgambling.inLive
Quit Gambling counselor directory
Fig. 01Counselors: licensed in India, vetted in person, each with languages, specialty and live ratings.

Patient app

Recovery, one day at a time.

01

A daily home base

Current streak, an honest "did you slip?" check-in, mood, and your next session.

02

Progress you can see

Sobriety streaks, mood trends over time, and milestone badges that make the work visible.

03

Find the right counselor

Verified specialists, filterable by city, language and specialty, with live ratings computed from real reviews.

04

Book in two taps

Real-time availability paid from a prepaid session wallet. Credits are deducted atomically, so a slot can never be oversold.

05

A community that's been there

Post openly or fully anonymous. Author identity is stripped at the database, not just hidden in the UI.

06

A journal that's just yours

Private and visible only to you: a safe place to write through the hard days. Plus an SOS mode for the hardest moments.

quitgambling.inLive
The recovery toolkit: mood graph, streak, journal and SOS
Fig. 02The space between sessions: a one-tap mood graph, a gambling-free streak, a private journal and an SOS for the urge that won't wait.

Built for the phone in your pocket

Help at 2am happens on a phone.

Quit Gambling on mobile, scrolling the live site
The live site on a phone
Mobile toolkit: mood graph
Toolkit
Mobile care plans
Care plans
quitgambling.inLive
Patient recovery dashboard
Fig. 03Patient home: streak, daily check-in, mood, and next session at a glance.

Counselor side

A workspace for counselors.

01

Everything at a glance

Today's schedule, weekly load, total sessions, live rating and recent reviews.

02

Scoped to their clients

A patient's intake, streaks and moods, and only for clients who booked them. Scoping is enforced by the database itself.

Under the hood

Correctness lives in the database.

01

Authorization → Row-Level Security

Every query is constrained to the caller's own data in Postgres. Identity comes from the verified session, never the client.

02

Payments → atomic + signed

Razorpay signatures verified server-side; session credits deducted in one atomic statement, so concurrency can't oversell.

03

Privacy → enforced at serialization

Anonymous posts have their author nulled in a database view, so the real name never crosses the wire.

04

Consistency → one source of truth

Streaks and ratings are computed once and reused, so no two screens disagree.

quitgambling.inLive
Care plans: one payment, months of support
Fig. 04Care plans: one payment, no subscription; session credits are deducted atomically so a slot can never be oversold.
StackWhy each piece

Next.js 16 · React 19

App Router + Server Components keep data access and secrets on the server.

Supabase · PostgreSQL

Authorization (RLS), auth, and money (transactions) in one trustworthy place.

Razorpay

India-first UPI payments with server-verifiable signatures.

TypeScript · Tailwind · Resend

Explicit contracts end-to-end, a consistent design system, and transactional email.

Your turn

Want onelike this?

Tell me what you're building. You'll hear back within 24 hours, with a fixed quote before any work starts.