client:
Appcitor
role:
React Native (Expo) product design, architecture and development
engineering:
Chathura Buddhika

Pocketa

Pocketa is a privacy-first expense tracker and budget app published under my Appcitor brand. There is no server holding the ledger, so every feature, including receipt scanning, forecasts and search, runs on the phone and works in airplane mode.

01Contribution

Pocketa is a personal finance app I designed and built end to end with React Native and Expo. It is a fully offline expense tracker and budgeting app: budgets (zero-based, envelope, 50/30/20 and category limits), recurring bills, savings goals, debt payoff planning, loans, bill splitting, trips, and multi-currency accounts with net worth, all stored in an encrypted SQLite database on the phone. On-device receipt scanning uses Apple Vision on iOS and ML Kit on Android, and natural language entry parses phrases like “coffee 4.50 yesterday”. It ships with 19 iOS and 18 Android home screen widgets, 21 languages including right-to-left Arabic, and an ad-free one-time purchase through in-app billing.

  • Designed the product, the design system and the clean architecture, then built the whole app solo with React Native, Expo, TypeScript and Zustand.
  • Implemented an encrypted SQLite ledger in minor units with multi-currency conversion, budgets, bills, goals, debts, loans, split bills and encrypted backup and restore, including Google Drive backup on Android.
  • Built native modules for on-device OCR receipt scanning (Vision on iOS, ML Kit on Android), screen privacy, iOS WidgetKit and Android home screen widgets, and shipped the ad-free in-app purchase.

02Outcomes

  • A complete personal finance app that needs no sign-up, no bank linking and no network connection.
  • Localised into 21 languages with full right-to-left support, plus 37 OS widgets across iOS and Android.
  • Monetised with ads and a single ad-free purchase, with no subscription and no user data leaving the device.

03Stack

  • React Native
  • Expo
  • TypeScript
  • Zustand
  • Encrypted SQLite
  • Native Modules
  • On-device OCR
  • iOS Widgets
  • Android Widgets
  • In-app Purchases
  • i18n
  • Offline-first