AI consumer fortune-telling appLive
간지사주
A 256-page mobile-first fortune-telling platform with NicePay payments, coin economy, idempotent refunds, classical-text RAG, and push dispatch.

Overview
A consumer mobile app that turns Korean fortune-telling content into a product.
NicePay payments, coin credits, refunds, settlement, web push, and classical-text RAG all sit in one flow. Most routes are prerendered so they open fast on a phone, and every AI reading carries the source text it leans on.
It looks unrelated to the hospital work, but this is where I actually put payment idempotency, refunds, and push retention through their paces. They matter just as much inside a regulated domain, so I hit them outside one first.
Core skills
Mobile-first paid consumer app productization
OpenAI generation grounded with classical-text RAG evidence
NicePay payments, coin credits, refunds, and settlement cron design
Implementation
- 1Pre-rendered daily fortune, saju, compatibility, dream reading, and date-selection routes with Next.js 16 and Supabase.
- 2Separated payment success, coin crediting, refunds, and settlement with idempotency keys and cron jobs.
- 3Added cost tracking and fallback patterns to generation, then attached classical-text retrieval as answer grounding.
Strengths
- Uses prerendering to keep a large mobile content app fast on first load and navigation.
- Reduces monetization failure blast radius by separating payments, coins, refunds, and settlement.
- Improves consumer-content trust by grounding AI responses in classical references.
Metrics
1,400
commits
256+
pages
53
migrations
8
cron jobs
Tech stack
Next.js 16React 19TypeScriptSupabaseOpenAI APINicePayTailwindPlaywrightVitest
Screenshots

