Business context.
Most people abandon budgeting apps because logging a transaction takes too many taps, and an incomplete ledger is a useless one. Catetin removes that friction by meeting users inside WhatsApp — the default messaging app in the Indonesian market — so "writing down" a transaction becomes as easy as sending "beli kopi 25rb". Behind that one message sits a full SaaS product: onboarding, payments, account provisioning, and an AI agent that does the bookkeeping automatically.
Analysis approach.
- Built a Next.js 16 web app: marketing site, pricing/packages, a self-serve checkout, and an authenticated dashboard for billing, plan renewal, and single → couple upgrades, with Supabase for Postgres/Auth and Upstash Redis for rate limiting.
- Automated payment → activation: checkout creates a pending order, Midtrans handles payment, and a webhook provisions a Supabase account plus a personal Google Spreadsheet ledger, then sends a welcome email (Resend) and WhatsApp message (WAHA) — fully hands-off.
- Engineered a 354-node n8n workflow that ingests WhatsApp messages via a WAHA webhook, normalizes them (including LID phone-number mapping), and routes intent with 33 IF nodes and 13 switch routers.
- Used 6 LangChain agents (8 OpenRouter chat models, windowed memory) to interpret language and classify income vs. expense, while 110 code nodes + 155 HTTP requests write each transaction into the user’s Google Sheet exactly and read it back for balances and summaries.
- Added 6 scheduled crons for daily/weekly recaps and payment reminders, a dedicated outbox cron for reliable outbound WhatsApp delivery, and a centralized error-trigger branch so failures are surfaced rather than silently dropped.
Conclusion.
Catetin is a full-stack product where automation is the user experience. Instead of a UI users must learn, the interface is a conversation — and the real engineering lives in making that conversation reliable: payment-to-activation automation, an AI agent accurate enough to trust with money, and a transparent Google-Sheet ledger users actually own.