- Role
- Sole developer: product, content sourcing, Android development, brand, website and Play release.
- Platform
- Android
- Timeline
- 2026
- Status
- Live on Google Play



Overview
An Android app for the U.S. naturalization test: every official civics question with its USCIS answers, a mock interview read aloud and answered by voice, reading and writing practice, the N-400 questions explained, and your own officials by ZIP code, in English and Spanish.
Problem
Applicants study a list of civics questions, but the interview is spoken: an officer reads questions aloud and stops as soon as the result is settled. Two tests are in use, chosen by the N-400 filing date, and some answers depend on where you live. Belong picks the right test, runs the interview with the officer's rules, and answers the local questions from a ZIP code without sending it anywhere.
What I built
- The 2025 (128 questions) and 2008 (100) civics tests, picked from the N-400 filing date, plus the 65/20 list
- Official USCIS questions and answers, each with a short explanation labelled as Belong's
- Flashcards, topic quizzes and spaced review, with every question read aloud at three speeds
- Mock interview asked aloud and answered by voice or typing, with the officer's stop rules
- Reading and writing practice built only from the official USCIS vocabulary lists
- The N-400 yes/no questions quoted from the form, with the hard words explained
- Senators, representative, governor and capital from a ZIP code, looked up on the phone
- Readiness, a daily goal counted down to the interview date, and a daily reminder
- English and Spanish app, switched in place without restarting the screen
- Free study for every question; Belong Pro monthly or once for lifetime, through RevenueCat
Engineering
01
Matching answers the way an officer hears them
A spoken answer passes if every word of an accepted answer is there, in any order and with extra words, but not if it adds a word that flips the meaning, so "the Vice President" never matches "the President". Plain Kotlin with JVM tests.
02
Content that can't drift from USCIS
Both question banks are copied from the official USCIS documents and checked in the unit tests: count and numbering, the 65/20 marks, every translation, and that no wrong quiz option would pass the answer matcher.
03
Local answers without sending a location
A ZIP-to-district table ships in the app. The officials list refreshes from the app's website at most once a day, only when its verified date is newer, with no identifier in the request.
Architecture & technology
- Kotlin
- MVVM
- Hilt
- Room
- Coroutines
- StateFlow
- WorkManager
- Navigation Component
- Material Design 3
- TextToSpeech
- SpeechRecognizer
- Per-app locales
- RevenueCat
- PostHog
- Firebase Crashlytics
- Play In-App Updates & Review







