LiveConsumer Apps

HangeulSprint

Korean drills with audio, no romanisation crutch.

HangeulSprint interface

The Problem

Romanisation trains the wrong reflex. HangeulSprint is drill-heavy: listen, repeat, short sessions, closer to ear training than streaks and badges.

Architecture

Next.js 15 with SST deployment

API Gateway + Lambda backend

S3-hosted audio assets

Cognito authentication

CDK infrastructure stack

Engineering Decisions

Why speechSynthesis for some lines?

Avoids Polly billing for every sentence. Browser speaks Korean when the voice exists; fixed drills use files.

Where do drills come from?

Generated from vocabulary/grammar data so adding a layer is mostly data entry, not writing hundreds of questions by hand.

Highlights

Audio-first drillsLayers get harder as you goProgress stored per sessionUses browser speechSynthesis for ad-hoc lines; S3 clips for fixed drills

Stack

Next.js 15Tailwind v4SSTCDKAPI GatewayLambdaS3Cognito