Back to projects

Catatlah - Pencatat Keuangan Pribadi Indonesia

Catatlah is a free-forever personal finance tracker for Indonesia — scan paper receipts with on-device OCR, log spending by chatting, and track budgets, wallets, debts, and split bills as an installable PWA, plus Telegram and WhatsApp bots. Live at catatlah.com.

Web App
Role
Creator & Full-Stack Developer
Timeline
Apr 2026 – Present
Year
2026
Stack
React, Vite, PWA, Tesseract.js, Astro, Telegram Bot API, WhatsApp API
Catatlah - Pencatat Keuangan Pribadi Indonesia

Overview

Catatlah is my own product — a personal finance tracker built specifically for Indonesian users, live at catatlah.com with the promise “Catatlah Pengeluaranmu, Tanpa Ribet” (record your expenses, without the hassle). It runs in any browser as an installable PWA — no app store needed — and is free to use forever, with a Pro upgrade at Rp 15.000/month.

Expense tracking fails when it feels like admin work, so Catatlah removes the friction entirely: photograph a paper receipt and the amount is extracted on-device, or just type “makan siang 35rb” in a chat and it’s recorded. Every feature is localized for how Indonesians actually spend — Rupiah, warteg and ojol categories, BCA/Mandiri/BNI accounts, GoPay/OVO/Dana balances.

Key Features

  • Scan Struk (AI Receipt Scanning): Photograph any paper receipt and the items, amounts, and merchant are parsed automatically — OCR runs fully on-device with Tesseract.js, so it works offline and receipt data never leaves the phone.
  • Catat via Chat: Log transactions with natural phrases like “makan siang 35rb” or “gaji 5 juta” — an AI parser extracts the amount, category, and wallet instantly.
  • Telegram & WhatsApp Bots: Record spending by sending a message or a receipt photo to a bot, no app required — perfect for quick captures from a work computer.
  • Multi-Wallet: Track cash, bank accounts (BCA, BNI, Mandiri), and e-wallets (GoPay, OVO, Dana) with per-wallet balances in one dashboard.
  • Hutang & Piutang: Debt and receivable tracking with due dates, so informal loans between friends and family stay organized.
  • Split Bill: Split group expenses and share the breakdown directly to WhatsApp.
  • Smart Budgets: Per-category budgets with near-limit alerts and a monthly overview of spending vs. income.
  • Financial Health Score: An at-a-glance score with concrete suggestions, turning raw transactions into something actionable.
  • Free Forever + Pro: The free tier includes unlimited manual input, CSV/PDF export, 5 scans and 15 chat parses per month; Pro (Rp 15.000/month) unlocks 10 wallets, 75 scans, 300 chat parses, up to 3 Telegram links, and AI spending predictions.

Technology Stack

  • App: A React + Vite single-page app architected as a Progressive Web App — installable from the browser, with an app-shell that loads fast on mid-range Android devices and mobile data.
  • On-Device OCR: Receipt scanning runs on Tesseract.js in a worker — zero upload cost, zero privacy anxiety, and it keeps working in a basement warung with no signal.
  • AI Parsing & Predictions: Natural-language expense logging, receipt structuring, and Pro spending predictions are handled by an AI layer with careful fallbacks to rule-based parsing.
  • Messaging Bots: A Telegram bot in production and a WhatsApp channel in beta, sharing the same parsing pipeline as the in-app chat logger.
  • Landing & SEO: The marketing site at catatlah.com is a statically generated Astro site — bilingual (ID/EN), Core-Web-Vitals-friendly, and the main acquisition channel.

System Architecture

  • Privacy-First Capture: The sensitive path (receipt photos) is processed on-device; only the structured result is stored — a deliberate architectural choice for a finance app.
  • One Parsing Pipeline, Three Surfaces: In-app chat, Telegram, and WhatsApp all feed the same NLP parser, so logging behavior stays identical wherever the user is.
  • Installable, Not Installed: Shipping as a PWA removes the app-store review loop entirely — updates deploy instantly, and the landing page → app funnel is a single tap.
  • Local-First Data: Transactions are cached locally and synced in the background, so the dashboard opens instantly even on flaky connections.

My Role

Catatlah is a fully solo project — I own everything from idea to production:

  • Product & Design: Defined the free-vs-Pro split, the wallet/debt/split-bill feature set, and designed the warm, approachable interface around the orange brand identity.
  • Frontend & PWA: Built the React + Vite app, the offline-capable PWA shell, and the bilingual experience.
  • OCR & AI Pipeline: Integrated Tesseract.js for on-device receipt scanning and built the shared chat-parsing pipeline behind the app and bots.
  • Bots: Shipped the Telegram bot and the WhatsApp beta channel.
  • Web & Marketing: Built the Astro landing page with pricing, FAQ, and blog, and run acquisition for the 1,000+ users already on board.
Catatlah - Pencatat Keuangan Pribadi Indonesia screenshot 1
Catatlah - Pencatat Keuangan Pribadi Indonesia screenshot 2