Skip to content

About

Gamified habit tracker — Next.js + Supabase + Tailwind, Neon Street HUD

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Gamify Life

Josh's habit tracker, rebuilt online as a portfolio project: a Neon Street HUD where daily habits are ops to complete. Sign in, see today's habits, tap one done — from a phone, at a real URL.

Why it exists: the v1 tracker lived on a desktop's localhost and never got used; habit logging happens on the couch and in bed, on a phone. This rebuild is also the portfolio piece — a correctly built multi-user app (per-user rows, RLS) that happens to have one user.

How it was built

I'm the architect and quality bar, not the typist. What I own is the structure: the two-lock security model (grants + RLS) in every migration, the architecture brief in docs/, and the e2e suite that runs against the real backend so I can trust changes without reading every diff.

Stack

  • Next.js 16 (App Router) + TypeScript on Vercel
  • Supabase — hosted Postgres + email/password auth (@supabase/ssr cookies)
  • Tailwind CSS v4, CSS-first design tokens (Neon Street HUD language)
  • Playwright e2e against the real backend + pure unit tests for date logic

Run locally

npm install
cp .env.example .env.local   # fill in Supabase URL + publishable key
npm run dev                  # http://localhost:3000

Test

npx playwright test e2e/dates.unit.spec.ts   # pure date-logic units (no backend)
npx playwright test                          # full e2e vs hosted Supabase

The full run needs the e2e credentials in .env.local (see .env.example) and the migrations in supabase/migrations/ applied to the project.

Layout

  • app/ — pages (Today /, Manage /manage, /login), components, tokens
  • lib/ — Supabase client plumbing, pure date logic
  • supabase/migrations/ — schema + grants + RLS, one migration per table
  • e2e/ — Playwright specs, seeding setup/cleanup
  • docs/ — project context (see the doc map)
  • proxy.ts — session refresh + signed-out redirect (Next 16 middleware rename)

Doc map

Work is tracked in this repo's GitHub issues; each ticket's commit message carries its verification evidence.

License

MIT.

About

Gamified habit tracker — Next.js + Supabase + Tailwind, Neon Street HUD

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages