Skip to content
Back
Civik app icon, a felt Uncle Sam top hat
Playground•Personal Project

Studying for the citizenship test shouldn’t feel like a flashcard pile.

Civik turns all 128 official USCIS civics questions into daily streaks, XP, and spoken mock interviews in the real test’s 20-question format. I designed it and vibe-coded it with AI as a personal project. The public test is open for anyone preparing for the interview.

Type
Personal Project
Focus
EdTech / Civic Gamification
Status
Public Test

Context

A new test, and study tools built for the old one.

In October 2025, USCIS replaced the civics portion of the naturalization test. The question bank grew to 128, an officer asks up to 20 of them out loud, and the test stops as soon as you reach 12 right or 9 wrong.

Civik is my take on how you’d actually prepare for that: an app that teaches the material, explains every answer, and then rehearses the interview itself. It’s a personal project I designed and vibe-coded with AI, from the first commit to an iOS build in four days.

The problem

Recognizing an answer isn’t the same as being able to say it.

A list of questions with the answer printed underneath helps you recognize the right answer. The interview asks you to produce it, out loud, to a person, with nothing on screen. Multiple choice can bridge that gap, but only when the wrong options are plausible; filler options let you pass by elimination without learning anything.

  1. 01

    How do you make 128 questions feel doable instead of like a pile?

  2. 02

    How do you make a wrong answer teach something, instead of just costing a point?

  3. 03

    How do you rehearse a spoken interview when there’s no one to ask you the questions?

Key decisions

Six choices that shaped the app.

01

A path, not a pile

The 128 questions are split into six modules that unlock in order. Each lesson is 8 questions with 5 hearts and 3 tries per question, and getting 60% right on the first try opens the next one. Leaving mid-lesson asks first, because that attempt won’t be saved.

Civik Learn tab showing six modules on a path, the first one open
Learn: modules unlock in order
Leave this lesson? dialog with Exit Lesson and Keep Studying
A speed bump before losing progress
02

Every wrong answer explains itself

A wrong pick gets two notes: why that option isn’t it, and why the right one is, with every other accepted answer listed. The wrong options are hand-written for each question and stay the same on every attempt, so a miss teaches the same lesson twice instead of rolling new filler.

Wrong answer feedback with Why that's not it and Why this is right notes
“Why that’s not it”, then “Why this is right”
Correct answer feedback with a learning note
Right answers still get a learning note
03

Rewards that track real progress

Praise changes with your streak. Anything you miss goes to a review queue the moment you miss it, and only leaves once you answer it right on the first try.

Hat trick! feedback for three correct answers in a row
Streak-aware praise
Mastery Tracker with accuracy, streak, category mastery and review queue
Mastery and the review queue
04

Rehearse the real format

The mock interview draws 20 random questions from all 128 and needs 12 correct, like the real test. The spoken mode goes further: a synthesized voice asks each question and you answer into the mic (see it in the recordings below).

Mock Interview setup card for the 2025 exam format
Pick a track
You Passed! result, 19 of 20 correct
Scored against the real pass mark
05

Only show the 65/20 track to people who qualify

Applicants who are 65 or older with 20 years as permanent residents study just 20 marked questions and are asked 10, needing 6 right. Most people don’t qualify, so the track stays hidden until you turn it on in Settings.

Settings with the 65/20 Consideration switch turned on
Opt in from Settings
Mock Interview showing the 65/20 Consideration track
Then the track appears
06

An independent tool, not an official one

Early builds borrowed USCIS language: “Official”, “officer”, “naturalization”. I stripped it from the interface so Civik never reads as a government product. It helps you prepare for the official test and says so plainly.

Inside the app

Learn it, review it, then sit the interview.

The tabs map to the ways people actually prepare: a guided path for first-timers, a no-pressure study list for review, and mock interviews, typed or spoken, that follow the real format.

Lesson

Multiple-choice questions, one at a time, with a Check Answer step before moving on.

Mock Interview

The 2025 exam format, 20 questions asked at random and 12 correct to pass, with instant feedback.

Spoken Interview

A simulated interviewer asks each question out loud, and you answer by speaking, just like the real thing.

Study

Every question and its accepted answers by category, with a short note on why each answer is right.

Amendments

All 27 amendments, each with its purpose, history, and the civics questions it shows up in.

Mastery Tracker

Accuracy, study streak, and mastery by category, plus a review queue built from missed answers.

Build log

Vibe-coded in four days.

I built Civik by directing AI: describing each screen and rule, then reviewing and correcting what came back. The code came fast. The judgment calls (what a wrong answer should say, what counts as passing, what to leave out) were the actual work.

4

Days from first commit to an iOS build.

63

Commits in the app’s history.

18

Of those spent on answer quality alone.

9

Beta-tester review passes, five of them over all 128 questions.

Day 1

43 commits

The whole core, then the hard part

Lessons, Study, the mock interview, and a spoken interview with a real voice, an open mic, and forgiving number matching. Most of the day went into the wrong answers: audited, made the same on every attempt, and exported question by question for manual review.

Day 2

2 commits

Hand-written distractors

Two commits, but the biggest content change: I replaced every generated wrong answer with one written for its question, so none of them can be ruled out on sight.

Day 3

16 commits

From Honest Abe to Civik

The app started as Great Abe, became Honest Abe, and landed on Civik with the felt top-hat logo. Official-sounding language came out, and Settings (65/20, reset, privacy), dark mode, and a desktop layout went in.

Day 4

2 commits

Native on iOS

Wrapped the web app with Capacitor so it runs as a native iOS app, and fixed full-width layout on larger phones.

Light, dark & desktop

One app on a phone and a laptop, in light or dark.

The theme follows your device unless you pick one in Settings. On a wide screen the bottom tabs move into a sidebar, so the same app works as a website too.

Lesson feedback in light mode
Lesson feedback, light
Civik Settings in dark mode with theme options
Settings, dark
Civik on desktop: Learn path with a sidebar
Desktop: the tabs become a sidebar
Civik on desktop: Study categories
Study on a wide screen

Brand guidelines

A felt top hat and a friendly script.

Civik’s mark is a soft 3D hat rather than a flat icon, so the guide measures its proportions instead of drawing construction lines. The palette comes straight from the app’s theme, light and dark.

Civik logo construction sheet: the felt top hat with guides marking its crown, band and brim as shares of its height and the brim's width relative to the crown, the civik wordmark lockup on light and dark, clear space, minimum sizes and four misuse examples
Construction. The hat is 57% crown, 18% band and 25% brim, and the brim runs 1.33 times the crown's width. In the header it sits beside a lowercase Pacifico wordmark.
Civik color guide: the light and dark theme tokens with hex values and roles, and four text pairings with WCAG contrast ratios
Color. Every token has a light and a dark value. Green and red fail contrast as small text on white, so they work best as fills with Ink on top.

The actual test

What you’re really studying for.

128

Official civics questions, published by USCIS.

20

Questions at most, asked out loud. The officer stops at 12 right or 9 wrong.

12

Correct answers needed to pass the civics portion.

2

Chances per application. Fail once and you’re retested 60–90 days later.

What’s next

What testing turned up, and what comes after it.

  1. 01

    End the mock interview the way the real one ends

    Right now it always asks all 20. The 2025 test stops at 12 right or 9 wrong, and the mock should too.

  2. 02

    Make accuracy agree with the review queue

    Accuracy only counts finished lessons, so a question missed in a mock or an abandoned lesson sits in review while accuracy still reads 100%.

  3. 03

    Link to any screen

    On the web, opening a lesson or tab directly still 404s instead of loading the app there.

  4. 04

    Widen the beta

    Once the review algorithm and spoken mode hold up with the current testers, share it more widely.

Closing note

Public testing is open. Try Civik yourself.

Civik is available for anyone preparing for the U.S. citizenship interview. Try the live test and send me feedback if you find a rough edge.