
July 2026
Basketball Weekly Pickup Tracker
Every Sunday, same problem. Someone has to chase people on Messenger to see who's coming, someone has to remember who still owes from last week, and someone has to split the court fee when half the group brought a guest. So me and my friend @koh.nguyen built an app to handle all of it.
Members log in, vote whether they're coming, and note how many guests they'll bring. The app auto-creates each Sunday's session, auto-cancels if fewer than 8 sign up, and emails the organiser reminders throughout the week. After the game it splits the fee evenly (guests count as extra shares), generates a per-person VietQR code with a one-tap bank app link, and tracks a two-step settlement flow: player marks paid, admin confirms received. Running debt ledger across all sessions so nothing carries over silently.
The organiser used to spend 20 minutes after every game doing this by hand in a chat thread. Now they don't.
A few things worth calling out. Votes reflect instantly via React's useOptimistic before the server responds, which matters when you're on your phone tapping quickly. The scheduling is Vietnam-timezone-aware (UTC+7) and rolls to next Sunday the moment a game ends. One Vercel cron job handles the entire email schedule by branching on weekday, which keeps the logic in one place. The VietQR payment flow took the most iterations to get right: encoding exact amounts per person, the two-step settlement, and keeping the debt ledger in sync across sessions.
Built with Claude Code, deployed to production.
Stack:
- —Next.js 16 + React 19 - App Router, Server Components, Server Actions (no separate API layer)
- —TypeScript - end-to-end type safety
- —Tailwind CSS v4 - styling
- —PostgreSQL (Neon) + Drizzle ORM - type-safe schema, auto-migrations on deploy
- —Custom PIN auth - member login and admin gate via HMAC-signed cookies
- —Nodemailer / Gmail SMTP - automated organiser emails
- —Vercel Cron - single daily job branching by weekday
- —VietQR (napas 247) - per-person QR codes and bank-app deep links
- —Vercel - hosting and CI/CD
Tech Stack