Kakao Group Golf
An asynchronous golf game played inside a KakaoTalk group chat — everyone in the room plays the same course and wind. The local MVP is complete; launch is waiting on Kakao review and legal sign-off.
Overview
In the chat, one first mention creates an account and a starter bag with no signup form, and the room only does short shared actions: pick a shot, check a score. Loadouts, scouting, the collection, and records move to a Kakao-login PWA. The server owns every ruling; the local v1.2 build runs two 9-hole courses, 35 clubs, 8 gloves/shoes, and 8 caddies. Written confirmation from Kakao for a third-party group bot, real OAuth verification, and a game-rating / loot-box / privacy legal review are still open, so it is not publicly deployed.
My Work
- ▸pnpm monorepo — worker/web/admin apps + 8 packages (contracts, domain, economy, engine…)
- ▸Free-tier-first architecture on Cloudflare Workers + Hono + D1 (Drizzle) + R2
- ▸Kakao skill adapter — BasicCard / TextCard / quick-reply responses tested on local fixtures
- ▸Idempotent request IDs · encrypted response replay · crash-window recovery · safe mode
- ▸Beta contract matrix · Chrome smoke · D1 load and restore drills · beta metrics report
- ▸14-question Kakao submission + rating / loot-box / privacy review packet ready, not submitted
Features
- Room-scoped async 3-hole tours — one `대결` command creates or auto-joins
- 5 club slots · free scouting with published odds, rare guaranteed in 10 pulls · +0–+5 fitting
- Daily 200G check-in · reward limits (12 practice, 5 duels) that never lock play
- KST Weekly Open · global top-10 plus your neighborhood · room-week best ranking
- 28 achievements — pure records, no rewards attached
- Offline read-only recovery PWA · operations dashboard · deletion and support flows
Highlights
- Any first mention, command, or button creates an account + starter bag — no signup form
- Server-authoritative rulings · deterministic shot engine · 100,000-shot simulation
- No real-money sales or paid loot boxes — free scouting and guaranteed fitting only
- Request-ID reuse rejected · 3-second cooldown · 20 mutations/minute cap · PKCE S256
- 24-user local load run: 61 requests, zero replay mismatches, P95 111 ms
Timeline
Tech Stack
</>Cloudflare Workers · Hono · D1 · Kakao Skill · React PWA