Skip to content
RadarBlue

Case study

WelcomeOath: spoken practice for the U.S. citizenship test

WelcomeOath is a study guide for people preparing for the USCIS 2025 civics test. Radar Blue designed, built, and runs it. This is how it works and why it is built that way.

WelcomeOath's path to citizenship: a map of 14 lessons with an eagle guide, a mock interview button, and the first lesson card.
The path from the first lesson to the mock interview.

What it is

The naturalization interview includes an oral civics test, so memorizing answers from a PDF is only part of the preparation. WelcomeOath teaches the reasoning behind each answer and then has the learner answer out loud. It covers 14 lessons and 128 questions, with a separate track for the 20 questions that apply to older applicants.

Lessons can be read in the learner's own language, with 23 offered. Spoken practice stays in English, because that is how the test runs. Country packs for Brazil and Mexico add comparisons with where the learner grew up.

A WelcomeOath lesson on the Declaration of Independence, with a timeline and an 'If you grew up in Brazil' comparison.
A lesson in English with a Brazil comparison.
A WelcomeOath practice question asking which founding document said the colonies were free from Britain, answered by typing, with a 'Great answer!' response.
Spoken or typed practice, graded right away.

Two decisions that shaped the build

Grade with code first, ask a model second

A learner speaks or types an answer. The browser records a short audio clip, an API transcribes it with Amazon Transcribe, and the result is checked against every accepted answer for that question. Only when a single-answer question misses does the system ask a small model, Amazon Nova Micro on Bedrock, whether the answer was close enough. Most answers never reach a model, which keeps grading predictable, fast, and cheap.

Keep the learner's data close to the learner

Progress lives in the browser. A signed-in learner's progress is also stored in DynamoDB. Usage analytics are first-party, and Google Analytics loads with consent where the law requires it. Lesson 1 needs no account at all.

How a request travels

The site is a static Next.js export. Pages, audio, and every API go through CloudFront on the site's own address, so the browser talks to one origin. Behind it, small Lambda functions handle learner progress, spoken answers, payments, reports, and events.

Browser CloudFront Static pages (S3) Audio API + cache Learner API Events API one address
  • Spoken prompts are synthesized with Amazon Polly on the first request and cached in S3 afterward.
  • Sign-in uses Cognito with email codes. Checkout uses Stripe.
  • Events flow into S3 and can be queried with Athena.

Cost and failure controls

Public endpoints can be abused, and a spike in usage becomes a bill. CloudWatch alarms email the team, and if a public API stays pinned at its limit, a breaker function throttles it to zero until someone looks. Every screen has a problem-report button that feeds an admin area, so issues reach us from real learners instead of waiting for us to find them.

Stack

Next.js (static export), TypeScript, AWS CloudFront, S3, Lambda, API Gateway, DynamoDB, Cognito, Transcribe, Polly, Bedrock, SES, CloudWatch, Athena, and Stripe, defined as infrastructure as code.

Common questions

Where does AI come into it?
Spoken answers are graded by code against every accepted answer first. A small model (Amazon Nova Micro on Bedrock) is asked only when a single-answer question misses, so most grading never reaches a model.
Could Radar Blue build something like this for my organization?
Yes. The same pieces (accessible interfaces, speech or document processing, guardrailed AI, payments, cost controls) apply to government, nonprofit, and healthcare work. Start with a discovery call.
Get in touch

Tell us what you're trying to ship.

A 30-minute call to understand the problem, sanity-check the approach, and decide whether a discovery sprint or a second opinion makes sense. No deck, no sales engineer, no obligation.

  • If we're not the right fit, we'll tell you who is.
  • Plain-English questions. Not a slide deck.
  • We never repurpose what you share with us.

Discovery call

30 minutes · video or phone · no obligation

Before we meet, you'll share

  • Your organization
  • What you're trying to ship
  • Rough timeline (optional)
Pick a time