PRODUCT BUILDER
I turn ideas into
shipped products.
Product manager who builds. I scope features, design systems, manage production infrastructure, and ship real software used by real people — leveraging AI-assisted development to move at startup speed as a solo operator.
WHAT I'VE SHIPPED
Projects
A full-stack fantasy golf platform where friend groups draft PGA golfers before each tournament and compete for real money based on how their golfers finish. Think fantasy football, but for golf, with a live snake draft, real-time leaderboards, and dynamic payout calculations.
Product Decisions
- • Designed a snake draft system with SMS-driven pick notifications — no app download required, players draft from a text message link
- • Built dynamic payout configuration so each tournament can have custom prize structures (winner-take-all to PGA-style top-15 splits)
- • Created a championship-prediction mini-game (pick NBA winners to determine golf draft order) that drives engagement before the draft even starts
- • Multi-clubhouse architecture — each friend group gets their own tournaments, rosters, and standings
Technical Architecture
- • Next.js 14 App Router + Supabase (Postgres, Auth, Realtime) + Vercel
- • JSONB-based draft state with optimistic locking (CAS) for concurrent pick handling
- • DataGolf API integration syncing live leaderboard data every 5 minutes during tournaments
- • Post-draft trade system with proposal/accept lifecycle and SMS notifications
Production War Stories
- • Diagnosed and resolved a full site outage caused by Supabase connection saturation from aggressive client polling — reduced polling from 10s to 5min intervals, added Postgres safety valves, upgraded compute tier
- • Fixed Vercel Edge Middleware 504s by eliminating all network calls from middleware — pure cookie-based auth check, zero Supabase imports, 74KB to 26KB bundle
A prediction game for the 2026 FIFA World Cup’s new 48-team, 12-group format. Players predict winners, draws, and first-to-score for all 72 group stage matches, build a complete 32-match knockout bracket, and compete on a live leaderboard as the tournament unfolds.
Product Decisions
- • Designed a scoring system that rewards precision (correct result + first scorer) with escalating points through knockout rounds — 2pts for group stage, up to 32pts for the Final
- • Built support for multiple brackets per user so players can submit a “gut feel” bracket and a “data-driven” bracket without choosing between strategies
- • Created an automatic standings engine that handles FIFA’s complex third-place qualification rules (8 of 12 third-place teams advance) and bracket reseeding
- • $25 buy-in with Venmo QR code integration — zero friction payment collection
Technical Architecture
- • Client-side bracket resolution engine implementing FIFA Annex C (third-place team assignment to knockout brackets based on which groups they come from)
- • JSONB-based bracket storage — single column stores all 104 picks per bracket with live validation
- • Integrated into the BetzGames multi-game platform alongside BetzGolf with shared auth and user accounts
A web-based implementation of Dou Dizhu (“Fight the Landlord”), China's most popular card game. Three players join a room, bid to become the landlord, then play in real-time with full rule enforcement, hand validation, and persistent game state.
Product Decisions
- • Room-based multiplayer with shareable join codes — send a link and play instantly, no account required
- • Full Chinese card game rule engine: bombs, rockets, chain pairs, sequential triples with kickers — every legal hand type validated server-side
- • Persistent game state via mounted volumes so in-progress games survive server restarts
Technical Architecture
- • Node.js + WebSocket server for real-time gameplay — sub-100ms latency between players
- • Hosted on Fly.io with auto-start/auto-stop machines to minimize cost during idle periods
- • Server-authoritative game logic prevents cheating — all hand validation and turn management runs server-side
HOW I WORK
AI-Assisted, Product-Led
I use Claude and other AI tools to write code faster — but the product thinking is mine. Every feature starts with a user problem, gets scoped into a clear spec, and ships with production monitoring. AI accelerates the build; it doesn't replace the decisions.
Product Vision
I identify the user need, define the MVP, and make scope trade-offs. BetzGolf started as an Excel spreadsheet — I turned it into a multi-clubhouse platform because I understood what the users actually needed.
Rapid Iteration
AI-assisted development lets me ship features in hours instead of weeks. I write PRDs, review generated code, debug production issues, and deploy — all in the same session.
Production Ops
I don't just ship and forget. I monitor Supabase connection pools, debug Vercel middleware timeouts, and upgrade infrastructure at 2am when the site goes down during a live draft.
Let's Build Something
I'm a product manager who can also ship. If you need someone who bridges the gap between strategy and execution, let's talk.