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

Overview
Ganji Saju productizes Korean fortune-telling content as a mobile SaaS experience.
It combines Toss payments, coin credits, refunds, settlement, web push, and classical-text RAG into one consumer product. Large route sets are prerendered for fast mobile access, and AI readings are grounded with source references.
Its strength is combining the fun of a content app with the operational discipline of paid SaaS. Generation, payment idempotency, monetization, and push retention work as one product system.
Core skills
Mobile-first paid SaaS productization
OpenAI generation grounded with classical-text RAG evidence
Toss 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,075
commits
256+
pages
53
migrations
8
cron jobs
Tech stack
Next.js 16React 19TypeScriptSupabaseOpenAI APIToss PaymentsTailwindPlaywrightVitest
Screenshots
