Role
Product strategy, interaction and AI-behavior design, curriculum and data modeling, with product implementation directed in Codex.
Personal project
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.
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
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.
From subtitle to sentence map
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.


I gave Codex three presentation requirements:



A learning reference
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
Each time I used it, new questions surfaced about the term I had tapped:



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



Making saved material useful
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:
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.





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



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