Independent Product · Founder & Full-Stack Engineer · Aug 2026 — Present
PaddleBag
A pickleball community platform I designed, built, and launched alone — player profiles, court and paddle directories, leaderboards, a social feed, and a live on-court queue, serving real users.
The problem
Pickleball communities coordinate across group chats and spreadsheets: no shared record of who plays where, which paddles are worth buying, or who is next on court. Building that as a solo engineer meant every layer had to be cheap to run, because there was no infrastructure budget to absorb mistakes.
Key decisions
Traced a runaway cost spike to a single network ASN
An anomalous request flood drove infrastructure cost sharply upward. Reading Vercel edge logs isolated the traffic to one ASN, and targeted firewall rate-limit rules shut it down with no impact on legitimate users.
Made search cost almost nothing to serve
Anonymous visitors — the overwhelming majority — hit a pre-built static index and generate zero backend requests. Only authenticated users route to a cached service-role RPC, so search scales with traffic without scaling with spend.
Bounded data cost by architecture, not by monitoring
Tagged cache revalidation with CDN s-maxage and stale-while-revalidate, per-user query fan-out replaced by batched and row-capped queries, and heavy aggregation pushed into bounded Postgres RPCs — keeping origin compute flat as traffic grows.
Enforced authorization in the database, not the client
Row-level security policies, privacy controls, and role-based admin gating live in Postgres, so a compromised or bypassed client cannot read what it should not.
Screens

Outcome
Live and serving real users, with a growth stack built end to end: first-touch UTM attribution, a referral program with correct post-auth attribution, weekly leaderboards, shareable Open Graph cards, and an internal analytics suite whose cohort retention analysis redirected the product roadmap.
Stack
- Next.js 16
- React 19
- TypeScript
- Supabase
- PostgreSQL
- Tailwind CSS v4
- Zod
- Mapbox GL
- OpenAI API
- Playwright
- Vercel