Skip to content

What an AI Agent Taught Me About Learning App Design

Harry

I was building Katakatana, a web app for learning to decode Japanese katakana loanwords. The app teaches two core skills: recognizing what a katakana word means in English, and learning how to read it in romaji. Clean purpose, focused audience.

But somewhere between โ€œthis is a learning toolโ€ and โ€œlet me build a homepage,โ€ I made the classic mistake.

I built a hero page.


The Hero Page Trap

You know the pattern. Big headline. Subheadline. Visual teaser. Two CTAs. Then below the fold โ€” the actual content.

It works great for SaaS landing pages. It communicates value propositions, establishes brand personality, converts strangers into signups. It is, objectively, a solid pattern for products where the user is deciding whether to try something.

But Katakatana isnโ€™t that kind of product. Users who open it already know what it does. Theyโ€™re there to practice. Every millisecond they spend reading โ€œSlash the Patternโ€ in 8xl font is a millisecond theyโ€™re not learning Japanese.

I knew something felt off, but I couldnโ€™t articulate it until I worked through the redesign with an AI agent.


The First Useful Challenge

I described the problem: the homepage felt distracting. I wanted to give users direct access to practice modes. The agentโ€™s first move wasnโ€™t to start designing โ€” it was to ask what I was actually trying to optimize for.

That question surfaced something I had been vague about. The app wasnโ€™t just a collection of practice modes. It had two specific learning pillars:

  1. Meaning โ€” katakana โ†’ English
  2. Reading โ€” katakana โ†’ romaji

These werenโ€™t equal items in a menu. They were the reason the app existed. The homepage should reflect that.

So we went through a few layout approaches โ€” a dashboard grid, a minimal list, a todayโ€™s-focus card. I gravitated toward showing both pillars as equal hero cards. Side by side, same visual weight, same prominence.

The agent pushed back.


The Insight That Changed the Design

The pushback wasnโ€™t about aesthetics. It was about cognitive load.

โ€œLearning apps with the highest completion rates all converge on one principle: remove the daily decision. Every time a user opens the app and sees two equal options, they have a micro-decision to make โ€” which one today? That friction compounds. Over weeks, it becomes a reason not to open the app.โ€

This is the paradox of choice applied to habit formation. When a learning app presents two equally prominent options at the entry point, it forces users to self-assess their weaknesses before theyโ€™ve even started a session. Thatโ€™s the wrong moment for self-assessment. The right moment is inside the session, where the app can actually do something with that information.

The best learning apps โ€” Duolingo, Anki, Lingodeer โ€” donโ€™t ask you to pick a mode every time you open them. They give you one button: continue. The decision about what to practice has already been made, either by the system or by habit.


The Three-Tier Solution

The redesign that emerged from this conversation has a structure I now think of as the correct default for focused learning tools:

Tier 1 โ€” One primary action, no decision required. A single large card: Daily Duel. It covers both learning pillars in one session. Users who open the app and just want to practice press one button and go. No thinking required.

Tier 2 โ€” Focused modes for intentional practice. Two equal cards below the hero: Decode (meaning only) and Romaji Read (reading only). These exist for users who know exactly what they want to work on โ€” maybe they just failed a romaji quiz and want to drill that specific skill. Theyโ€™re prominent enough to find, secondary enough not to compete with the primary action.

Tier 3 โ€” Everything else in a compact list. Rapid Slash, Syllable Forge, Pattern Drill. All available, none competing for attention.

The structure encodes a learning philosophy directly into the UI: start here, go deeper if you want to.


The Broader Lesson

The most useful thing the agent did in this process wasnโ€™t generate layout options or write the code. It was ask a question that forced me to be specific about what the product was for โ€” and then reason from that specificity to a design conclusion I hadnโ€™t reached on my own.

A hero page isnโ€™t a bad component. Itโ€™s a component with a specific job: convert unfamiliar visitors. If your users are already familiar, youโ€™ve hired the wrong component for the job.

Every design pattern has a context where itโ€™s correct. Knowing which context youโ€™re in is the actual skill. Sometimes you figure that out yourself. Sometimes it takes an outside voice asking: but what are your users actually here to do?

That question is worth more than any mockup.


Katakatana is a Next.js 15 app built with App Router, Tailwind CSS, and Zustand. The full homepage redesign touched four files and took under an hour from first conversation to passing build.


Appendix: Layout Evolution

The three options considered during the design process, and the final approved structure.


Option A โ€” Dashboard First

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  KATAKATANA          [Daily] [Data] [Conf]   โ”‚  โ† SiteNav
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                             โ”‚
โ”‚  MODULES                              v1.0  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ ๐Ÿ“…        โ”‚  โ”‚ ๐Ÿ”ค        โ”‚  โ”‚ ๐Ÿˆณ       โ”‚โ”‚
โ”‚  โ”‚ Daily     โ”‚  โ”‚ Syllable  โ”‚  โ”‚ Romaji   โ”‚โ”‚
โ”‚  โ”‚ Duel      โ”‚  โ”‚ Forge     โ”‚  โ”‚ Read     โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ ๐ŸŽฏ        โ”‚  โ”‚ โšก        โ”‚  โ”‚ ๐Ÿ“–       โ”‚โ”‚
โ”‚  โ”‚ Strike    โ”‚  โ”‚ Rapid     โ”‚  โ”‚ Learn    โ”‚โ”‚
โ”‚  โ”‚ Challenge โ”‚  โ”‚ Slash     โ”‚  โ”‚ Rules    โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Grid of all 6 modes. Familiar pattern, but no hierarchy โ€” every mode competes equally for attention.


Option B โ€” Todayโ€™s Focus

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  KATAKATANA               โšก3  [nav links]   โ”‚  โ† SiteNav
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  TODAY'S DUEL                        โ”‚    โ”‚  โ† Primary CTA
โ”‚  โ”‚           ใ‚ณใƒผใƒ’ใƒผ                   โ”‚    โ”‚
โ”‚  โ”‚       10 words remaining             โ”‚    โ”‚
โ”‚  โ”‚         [ START โ†’ ]                  โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                             โ”‚
โ”‚  OTHER MODES                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ ๐ŸŽฏ STRIKE โ”‚  โ”‚ โšก RAPID  โ”‚  โ”‚ ๐Ÿ”ค BUILD โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

One dominant CTA, secondary modes below. Strong hierarchy โ€” but the Daily Duel card alone doesnโ€™t communicate both learning pillars.


Option C โ€” Minimal Launcher

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  KATAKATANA               โšก3  โ˜…47           โ”‚  โ† SiteNav
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚  ๐Ÿ“…  Daily Duel        10 words  [ GO โ†’ ]   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚  ๐ŸŽฏ  Strike Challenge   decode   [ GO โ†’ ]   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚  โšก  Rapid Slash         60-sec  [ GO โ†’ ]   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚  ๐Ÿ”ค  Syllable Forge     builder  [ GO โ†’ ]   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ”‚  ๐Ÿˆณ  Romaji Read           read  [ GO โ†’ ]   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Maximum simplicity, lowest cognitive load. But all modes feel equal โ€” no signal about where to start.


Final Design โ€” Three-Tier (Approved)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  KATAKATANA       โšก3  โ˜…47  [nav links]      โ”‚  โ† SiteNav + NavStats
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚  DAILY DUEL        [MEANING][READING]โ”‚    โ”‚  โ† Primary CTA (โ†’ /daily)
โ”‚  โ”‚  Meaning + Reading                   โ”‚    โ”‚
โ”‚  โ”‚           ใ‚ณใƒผใƒ’ใƒผ                   โ”‚    โ”‚
โ”‚  โ”‚       [ START PRACTICE โ†’ ]           โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                             โ”‚
โ”‚  FOCUS ON ONE SKILL                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚  โ† Two focused modes
โ”‚  โ”‚ MEANING       โ”‚   โ”‚ READING       โ”‚      โ”‚
โ”‚  โ”‚ Decode        โ”‚   โ”‚ Romaji Read   โ”‚      โ”‚
โ”‚  โ”‚ kata โ†’ EN     โ”‚   โ”‚ kata โ†’ Romaji โ”‚      โ”‚
โ”‚  โ”‚ [ DECODE โ†’ ]  โ”‚   โ”‚  [ READ โ†’ ]   โ”‚      โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ”‚                                             โ”‚
โ”‚  OTHER MODES                                โ”‚
โ”‚  โšก  Rapid Slash             60-sec โ†’       โ”‚  โ† Compact list
โ”‚  ๐Ÿ”ค  Syllable Forge          Builder โ†’      โ”‚
โ”‚  ๐Ÿ”  Pattern Drill           Patterns โ†’     โ”‚
โ”‚                                             โ”‚
โ”‚  ๐Ÿ“– LEARN RULES      ๐Ÿ“Š DASHBOARD           โ”‚  โ† Footer links
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

One frictionless default action. Two focused single-skill modes for intentional practice. Everything else secondary. The hierarchy encodes the learning philosophy directly into the UI.

Previous
What Dota 2 Taught Me About Learning Japanese
Next
New Year is the Scale of Memory - Documenting My First Chinese New Year's Eve Abroad