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.
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.
- 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.