Personal project

Sentence Map

A curriculum-grounded AI learning tool that turns Korean subtitles into interactive grammar maps.

Sentence Map turns a photographed Korean subtitle into a labeled map of its grammar. I designed it to show how a sentence fits together before revealing detail, and to check curriculum coverage against published beginner materials rather than asking AI to estimate difficulty.

Applied AIHuman–AI InteractionProduct DesignInformation ArchitectureLearning Systems

Role

Product strategy, interaction and AI-behavior design, curriculum and data modeling, with product implementation directed in Codex.

Status

Working personal prototype, refined through continued use; not yet evaluated with other learners.

Working outcome

Turns a photographed Korean subtitle into an interactive grammar map and lets me save selected grammar and vocabulary into a Study UI.

Evidence base

Checks mapped terms against 1,243 source-traceable entries extracted from four volumes of the King Sejong Institute’s beginner Korean textbooks, retaining curriculum level and source page.

The problem

How might I turn subtitles into grammar I could learn from?

After several years of self-studying Korean on and off, I could read the letters and follow how a sentence was put together. What stopped me was vocabulary. A subtitle would go by with two or three words I didn't know, and by the time I worked out what they were, the scene had moved on.

I had one advantage: 20 years of studying Japanese. The hardest part of that, as a native English speaker, was adapting to word order that works nothing like English. Korean orders sentences the same way, so I did not have to learn that again. It meant I could see the structure of a sentence clearly and still not know what half of it meant.

I wanted the app to show me how a sentence fits together first, then let me explore the parts I don't understand yet.

Korean and Japanese follow the same subject → time → place → object → adverb → verb sequence. The word-for-word English shows how far that is from English order, and why Japanese gave me a head start.

From subtitle to sentence map

Designing a path from TV show to grammar study

The streaming sites I use for Korean shows and movies prevent screenshots because of digital-rights protections. I had built a screenshot-based tool for Japanese TV, Jimaku Catcher, but it only works because the Japanese streaming site I use permits screenshots. For Korean, I needed a different flow: notice a subtitle, pause the show, pick up my phone, and photograph the screen.

The first step worked: the app extracted subtitle text from the photos. But because I had not yet told Codex how to present it, the output was a long, unstyled report that ran off the screen.

The first Sentence Map prototype showing a photographed television subtitle and its extracted Korean text
Successful extraction of the subtitle text from the photo.
The first prototype's extracted grammar data shown as a long vertical report
A long, unstyled report.

I gave Codex three presentation requirements:

Sentence Map displaying a photographed Korean television subtitle and its extracted Hangul before analysis
1 · InputPhoto of a Korean subtitle.
Sentence Map showing the Korean subtitle as left-to-right color-coded grammatical chips
2 · Sentence mapGrammatical structure, at-a-glance.
The first chip detail panel showing meaning, grammatical role, Japanese language equivalent, and notes
3 · Detail on tapTap a chip for its meaning, grammatical role, and how it works in this sentence.

A learning reference

I needed to know what was within beginner range

I wanted the sentence map to show me which terms were within beginner range. I could have asked the model to rate each term's difficulty. But based on what? Instead I grounded it in published beginner materials from the King Sejong Institute: four volumes of their beginner Korean textbooks, freely available as PDFs.

One part at a time

The map showed structure; each 'chip' needed context

Each time I used it, new questions surfaced about the term I had tapped:

A morpheme detail panel with an explicit AI-generated pronunciation control
1 · 'Chip' detailGloss, grammatical role, Japanese equivalent, and notes. Tap the sound icon for AI-generated speech.
The detail panel for 모두 showing meaning, grammatical role, Sejong level, Japanese language equivalent, learner note, and three Korean examples with English translations
2 · Example sentencesThree examples show the same term in different sentences.
The detail panel for 살 showing meaning, grammatical role, Sejong reference, Japanese language equivalent, learner note, three examples, and a Save to Study button
3 · Save for laterSave to Study marks a term I want to keep track of.

Reading the map at a glance

Adding curriculum level and Study status to the sentence map

Two of those questions also belonged in the sentence map itself, answerable at a glance without tapping anything:

Korean sentence map with filled and hollow dots on its morpheme chips to indicate curriculum coverage
1 · Level dotsMy first idea was to use filled and hollow dots to distinguish terms inside the beginner curriculum from those outside it.
Korean sentence map showing gold checkmarks on chips that have been added to the Study list
2 · Study checkNext, I added gold checks to indicate terms I had saved to Study. With icons appearing across the chips, the sentence was becoming harder to scan.
A sentence map using bold and medium type for Sejong curriculum coverage and a gold underline for Study membership
3 · Type + underlineBold type marks terms listed in Sejong 1A–2B, medium type marks the rest, and a thin gold underline shows Study membership. I moved the full color key behind a tap so the learning cues stay readable.

Making saved material useful

Turning saved terms into a place to study from

At first, clicking 'Save to Study' saved the term to a database… And there it sat. I needed to turn that database into something I could actually study from.

Four states separate what the curriculum contains from what I have actually encountered and chosen to study:

Design decision
No reading ahead
I deliberately did not make Grammar Mastery a reference book I could read ahead in. A pattern becomes available only after I have met it in a subtitle and decided it was worth studying. That makes progress slower than working through a textbook, but every unlocked pattern comes attached to a sentence I actually heard, in a scene I was actually watching.

Study originally had two subsections, Landscape and List. Those became Map View and List View, grouped together under Grammar Mastery, which sits alongside Saved Words.

Study UI | Grammar Mastery

First Grammar Landscape interface with level buttons, progress, a status legend, zoom and reset controls, an Expand button, and a Voronoi grammar map
1 · Everything competed for spaceThe first Grammar Landscape put level selection, progress, status, and map controls into one dense stack.
Streamlined Grammar Mastery interface with an inline legend, underlined Map and List tabs, and fewer enclosing borders
2 · I reorganized the controlsI separated the level controls, learning-state key, and view selection, then removed the extra containers and turned Map and List into lightweight tabs.
Grammar Mastery List View showing Sejong level progress, learning-state legend, and a vertical list of grammar patterns with their statuses
3 · Scan the curriculumList View made individual grammar patterns and their Study status easier to scan.

Study UI | Grammar Details

Grammar Mastery detail panel for the Korean topic marker eun neun, showing curriculum, meaning and use, and a Learning status selector
Open and update an available patternTapping an unlocked grammar pattern showed its meaning and let me change its Study status.
Locked Grammar Mastery detail panel for hago explaining that it must be saved from a subtitle to unlock its explanation
Understand a locked patternA grammar pattern stayed locked until I had encountered it in a subtitle and saved it to Study.

Study UI | Saved Words

Grammar Mastery organized the curriculum. Saved Words became a practical queue for reviewing individual terms and changing their status.

Sentence Map Saved Words All view showing Korean vocabulary cards with New and Learning status controls
Review saved termsSaved Words collected the vocabulary and grammar I had deliberately chosen from subtitles.
Sentence Map Saved Words view filtered to Known, with the Korean words 사람 and 우리 set to Known
Set a Study statusFilters let me review items by New, Learning, or Known and update the status I had set for each term.
Current Sentence Map showing the Known word 사람 with a gold outline
See that status in the mapWhen 사람 appeared in Capture, its gold outline showed the Known state I had set in Saved Words.

Future directions

What I'd build next

Add retrieval practice.

Save to Study builds a queue of grammar and vocabulary I chose deliberately. The next step is retrieval practice: prompts that bring selected material back without deciding what counts as progress. Only items I have marked Learning would enter the rotation, and a review pass would not change an item's status on its own.

Extend curriculum coverage to Sejong 2A and 2B.

The extraction pass covered Sejong 1A through 2B, but Grammar Mastery currently maps only the 44 grammar points in Beginner 1. I want to extend it through 2A and 2B so a new subtitle pattern has a place on the same 1A–2B roadmap—and so the Study UI covers the same range the sentence map already marks.

Provide access to detailed grammar explanations.

Some grammar points need more than a short panel note. I want an intentional path from a saved point to supporting Sejong material, with detailed explanations and examples available on demand rather than loaded into the first view.

What this demonstrates

Four decisions that shaped the product

The pipeline is a photo, an API call, and a database. The design work was deciding what the app is allowed to conclude on its own, what it has to ask me, and how much of that reasoning stays visible in the interface.

01

Grounding an AI system in an inspectable source

Every chip's curriculum status traces back to a specific page in a published textbook. I extracted 1,243 entries from four volumes of the King Sejong Institute's beginner Korean series, keeping the level and page number for each one, so the app can check a term against real curriculum instead of asking a model to guess its difficulty.

02

Separating what the system found from what I know

The app tracks four states. Locked and New are set by whether I have encountered a pattern in a subtitle. Learning and Known are mine alone, so the system never concludes I know something just because it appeared on screen.

03

Giving each visual signal one job

I wanted the sentence map to show two things at a glance: whether a word is in the beginner curriculum, and whether I have already saved it to study. My first attempts used dots and check icons, and with both appearing across the sentence, the words themselves became hard to read. I gave each signal its own channel instead: color for grammatical role, type weight for curriculum coverage, and a thin underline for saved terms.

04

Turning AI analysis into a learnable interface

Extracting the subtitle was only the first step. I specified what the analysis had to return for each part of the sentence: grammatical role, meaning, Japanese equivalent, and notes. Then I designed the map to show structure first and reveal the rest when I chose to explore it.

Related work