Skip to content
CO
All projects

Case study

Afiam

A mobile accounting app for small businesses: photograph a receipt and the bookkeeping is done for you.

  • Live
  • iOS
  • Android

The problem

Small shops need to track sales, stock and expenses, but keeping books by hand is slow, and paper receipts pile up without ever being recorded.

What I built

  • Smart Scan: photograph expense, stock-purchase and sales receipts; the app records the accounting automatically
  • Sales tracking and inventory control
  • Cross-shop analytics to compare performance across branches
  • Account statement generation with PDF download
  • Multi-user team access

My role

Sole developer: I built the Flutter app for iOS and Android, the Firebase backend and Cloud Functions, in-app subscriptions, and the marketing site, and I publish the releases to both stores.

Tech stack

  • Flutter
  • Dart
  • Firebase
  • Cloud Functions
  • Gemini Vision
  • SQLite

Technical challenges & decisions

  • Receipt extraction

    Receipt photos are parsed server-side by a Cloud Function using Gemini Vision (with OpenAI as an alternative), so API keys never ship in the app. It handles purchase, sale and expense receipts and can auto-detect the type, and the user reviews the extracted lines before anything is saved.

  • Fair-use scan quotas

    Each shop has a monthly scan quota set by its subscription tier and read from remote config. A scan is charged up front and refunded if parsing fails or returns nothing, and the refund lands on the same month it was charged, even across a month boundary.