BuildingHamzaban app icon

Hamzaban

A voice-first translator that lets a Farsi-speaking parent and an English speaker talk, face to face, with no one in the middle.

Role
Sole owner: product, design, and build.
Status
In progress. Building the MVP.
Platform
Web, iOS, and Android, Expo and React Native.

Hamzaban means “one who shares your language” in Persian. It's the tool I'm building so my parents can be understood, without me in the room.

Why I'm building it

Millions of families are split by a language barrier inside their own homes. A Farsi-speaking parent who isn't fluent in English becomes dependent on their adult child to speak for them, at the doctor, with neighbors, with a partner's family. The parent waits to be spoken for, and over time they stop asking, and the relationship thins.

I'm building this after watching, firsthand, exactly where the barrier breaks for my own parents. This is real problem discovery, not a hypothetical.

Who it's for

The primary user is the parent: an older adult with low tech confidence who wants to speak in Farsi and simply be understood, and to understand what's said back. Success is completing an exchange without their child present. They should never see a settings screen, a login, or a configuration option.

I set it up once as the configurer, then step out of the way. The English speaker, a doctor or a neighbor, installs nothing and uses the same phone for a few seconds. Zero learning curve for anyone but me.

The principles

  • Silence and accuracy beat a confident wrong answer. A mistranslation that reaches the other person is the worst outcome, so the app shows the recognized source text and offers an easy redo rather than pushing a shaky result through.
  • Privacy is the product. Journal-grade care applied to speech: audio is deleted immediately after transcription, transcripts aren't stored server-side, and there are no analytics or ad SDKs.
  • Elder-first, not power-user-first. Big targets, big type, high contrast, one obvious action per screen. Farsi text is right-to-left and large.
  • Calm, not noisy. No gamification, streaks, or retention loops. Warm, concise, human copy.
  • The smallest thing that works. Ship the walking skeleton, harden it, then decide what, if anything, to add.

How it works

The MVP is in-person, single-device, and real-time: the phone sits between two people, each taps their side to speak, and the app speaks the translation aloud for the other. A two-sided screen, with the listener's half rotated 180 degrees, makes it usable flat on a table.

On each turn the app captures audio, transcribes it, briefly shows the recognized source (“did I hear you right?”), translates, then speaks the result aloud on the other side. A single obvious “again” affordance is the primary error-recovery path. A Confirm mode adds one tap before speaking, for high-stakes settings like a clinic.

The architecture

An Expo and React Native client talks to a thin serverless proxy that holds all the API keys, which never live in the client. The proxy orchestrates three swappable hops: speech-to-text, LLM-based translation with a tight system prompt (translate faithfully, preserve tone, invent nothing, prefer an honest “unsure” over a confident guess), and Persian and English neural text-to-speech. It returns the source text, the translation, and the spoken audio in one response, and retains nothing.

The riskiest assumption gets tested first: whether speech-to-text is accurate enough on a parent's real, colloquial, accented Farsi. That gate is a recording-and-measurement step before any UI is built, because if recognition is poor, the fix is provider and tuning work, not screens.

Status

In progress. The build is deliberately staged: de-risk recognition, then a one-direction walking skeleton, then the two-sided conversation screen, then the confirmation and error-recovery layer, then quick phrases and in-session replay, then an accessibility and RTL polish pass, then TestFlight with my parents and App Store submission. It's a family gift as much as a portfolio piece, so the metric is honest: can my parent complete a real exchange, unassisted?