Skip to content

Consumer AI AppIn development

Zentally

An AI expense tracker and receipt scanner for iOS and Android — our own product, designed and built end to end, and being prepared for its App Store and Google Play release.

  • 1,332 tests on every push
  • Row-level security on all 35 tables
  • Paywall enforced on the server
Expo SDK 57React Native 0.86TypeScript 6SupabaseGeminiOpenAIDeepgramRevenueCat

Consumer apps · Updated

The challenge

Tracking personal spending is tedious enough that most people quit — receipts pile up, budgets go stale, and finance apps still demand manual entry for everything.

What we built· built by our founder, Haseeb Attaullah

  • Receipt scanning on Google Gemini with automatic fallback to OpenAI: one photo returns the vendor, total, date, tax, tip and line items, checked against a schema before the user confirms them
  • Voice entry using the phone's own speech recognition, with Deepgram Nova-3 as an optional cloud mode — the words become a draft transaction
  • Ask Zentally, an AI chat over the last 90 days of spending, and a daily set of AI insights — both Pro-only and enforced on the server — plus budgets, savings goals, multiple accounts with transfers, recurring bills with on-device reminders, and CSV/PDF export
  • A Supabase backend with row-level security on every table and tenant isolation tested in CI against a fresh Postgres database; every AI call runs in Deno edge functions, so no model key ships in the app
  • RevenueCat subscriptions (Free, Pro, Family) behind a hardened webhook — constant-time secret check, test purchases kept off real accounts, and every downgrade double-checked with RevenueCat
  • Usage limits that can't be raced — AI usage is reserved before the model is paid for and refunded on failure — balances computed on the server, and a nightly job that checks the books still add up
  • Every push runs type checks, lint, 1,332 Jest tests, 24 Deno tests, secret scanning, and a build-integrity check that also runs before each store build

How it fits together

  1. Users

    • iOS and Android app

      Expo SDK 57 and React Native 0.86

  2. Backend

    • Supabase

      Row-level security on every table

    • Deno edge functions

      Every AI call runs here, so no model key ships in the app

    • RevenueCat

      Subscriptions behind a hardened webhook

  3. AI services

    • Gemini, falling back to OpenAI

      Receipt scanning

    • Deepgram Nova-3

      Optional cloud voice entry

Simplified, and drawn only from this case study: what it shows, not every moving part.

Why it matters

Built to App Store and Play standards rather than as a demo: in-app account deletion with a 30-day grace window, a privacy manifest that matches the store's privacy answers, and a store listing checked line by line against what the app actually does. Ahead of submission we ran a five-angle senior review and a screen-by-screen readiness pass over all 114 screens and server pieces — the same review we'd run on your app before it goes anywhere near a store.

Our founder's part

Haseeb Attaullah: Founder and sole engineer — product, design, mobile app, backend, AI integration, payments, and store submission.

Building something like this?

Tell us what you're building. We reply within 0–4 hours with honest feedback on scope, timeline and whether we're the right fit.

contact

Have a product to ship or an AI feature to get right?

Tell us what you're building. Replies within 0–4 hours, with honest feedback on scope, timeline and whether we're the right fit.

Book a 30-min call