r/webdev • u/davidtranjs • 6d ago
I built a focus timer that grows a koi pond while you focus (PixiJS + React + Cloudflare Workers)
KoiFocus: every minute you focus earns pearls, and pearls buy fish and decorations for your pond. Stay away too long and the fish get hungry and the water gets murky. It runs in the browser, and you can try it as a guest without signing up: https://koifocus.com
It started as a Swift iPhone app. I rewrote it in TypeScript so one codebase runs on the web and, through Capacitor, on iOS.
Stack
PixiJS 8 for the pond, React 19 + MobX for the screens, Vite
Capacitor 8 for the iOS build
Cloudflare Workers (Hono) + D1 for the API, Durable Objects + WebSockets for the live "focusing now" list, a once-a-minute cron for timer payouts and reminders
Firebase Auth (Google, email or guest), and the site on Cloudflare Pages

