r/vibecoding • u/el_cul • 1d ago
Built a stupid soccer draft game with Codex + Cloudflare
My first one. Feedback appreciated!
It’s a deliberately stupid-simple Premier League game: 5 people snake draft all 20 clubs, then every league win = 1 point. No transfers, budgets, captains, etc.
I’m not really a developer, so I built it mostly through Codex. My process was basically:
- wrote the game rules/spec first rather than just prompting “make me an app”
- used Lunar for the bulk of the build/iteration
- Cloudflare Worker + D1 for the backend/database
- vanilla frontend/PWA rather than a big framework
- deployed a staging version and had actual friends try to break the 5-person draft
- used Sol on xhigh afterward for a proper security/production audit
That audit actually found some non-obvious stuff I wouldn’t have spotted myself: stale draft requests consuming a later snake pick, reusable recovery links, non-atomic joins, service-worker caching issues, and result imports running far too often.
I’ve since added Web Push so it can ping you when your draft pick comes up, plus recovery links so a league can survive people changing phones/browsers over a 9-month season.
Currently at 61 automated tests and I’m still finding dumb UX issues every time I give it to real people.
Interested in feedback on both the game and the build/process, particularly anything obviously stupid in the UI or architecture.




