Chapter 1 of 6

TheSpark:WhyAizuchi

listening to Kohara Konomi on Koko Radio in 2020, realizing textbooks don't teach how people actually talk, and deciding to build a language app around conversational fillers instead of CEFR levels.

language mode · the sparkJul 28, 2026
fuwakotolanguage-learningaizuchikohara-konomicefr

In 2020 I stumbled across Koko Radio on YouTube. A fan had uploaded episodes of Kohara Konomi. Her speaking style was different fillers everywhere. "Yappari." "Nanka." "Eeeee." She would cut sentences in half and restart them.

I had been studying Japanese through the usual path: WaniKani, Bunpro, textbooks. But there was always a gap between "correct Japanese" and "real Japanese". As a native speaker of Brazilian Portuguese, I already knew this gap exists everywhere. We have textbook grammar that nobody actually uses in the street.

Take CEFR levels (A1 to C2) as example, for conversational fluency thats not a good source material.

Here's the example I keep coming back to. A rural Brazilian who never went to college can chat with a São Paulo business owner. They understand each other. By CEFR standards the rural person might not be "fluent." But functionally? They are. They can navigate a conversation, deploy humor, read the room, use fillers naturally.

So I decided to build an app that teaches Aizuchi (our aim to do so). The goal? to capture the feel of a conversation and the emotional register of a filler.

In the next chapters, I will show what was built, how and why.

Chapter 2 of 6

Chapter 2 of 6

TheGameModes

how Feed Hungry Kaoemoji, the Tsundere Cat, Mama Memory, Constellation, and Sleep evolved from the prototypes, why two emotional registers matter, and what broke along the way.

language mode · game modesJul 28, 2026
fuwakotolanguage-learninggame-modesaizuchigsap

Now lets discuss about the game modes.

Feed Hungry Kaoemoji is the Aizuchi drill. A kaoemoji character appears with a speech bubble showing conversational context. Filler options float up like SuperChat donations. "Yappari." "Nanka." "Eeeee." "Sou sou." Pick the right one for the emotional register.

The fillers aren't taught in isolation. They're taught in context based on the sentence. A surprised context gets "eeee." A reaffirming context gets "yappari." A softening statement gets "nanka." The emotional context IS the meaning.

The kaoemoji has four emotional states (should be expanded later). Normal (=^・ω・^=), sleepy (= ˘ ω ˘ =), happy (˶˃ ᵕ ˂˶), angry ( `Д´ ). Wrong answer triggers the angry face (if you eep geeting things wrong, its mood get worse). Right answer gives the happy wiggle and a particle burst. The transition is instant.

The option UI uses foods mochi, onigiri, not buttons , drag to feed it =D.

Tsundere Cat teaches sentence structure through negative reinforcement (will pow pow if you choose it wrong).

A sentence appears with a gap. You get four "glue" options. Particles, conjugations, structure pieces. Only one bridges the gap correctly. Wrong answer: the cat paw strikes via GSAP. Scales up with ease-out, sharp pop on impact, bounce-back. You FEEL the mistake. Right answer: the cat does a tiny, almost imperceptible nod. A tsundere would never admit they're proud (hahaha).

Why a tsundere for grammar? Because grammar is the part of language learning that feels most like being scolded. The rules are arbitrary. A cheerful "good try!" feels patronizing when you just conjugated a verb into nonsense. A cat that pow pows is much better.

The wrong glue options aren't random. They're plausible mistakes. The kinds of errors learners actually make. Choosing "ni" when "de" is correct. Dropping a particle that can't be dropped. The distractors are curated to teach through contrast.

Mama Memory is the grinding mode (volume). Card pairs: Japanese word on one side, emoji + English meaning on the other. Flip to match. SRS tracks each pair's review state. $$- secret: it can be used as "challange" agaisnt mama hard limit on purchases

This mode has to be grindy. Spaced repetition requires repetition. You can't learn 2000 words without seeing them over and over. WaniKani locks you out for 4 hours between sessions. Our answer: the session still ends, but the default terminal state is sleep, not a lockout screen. Same constraint, different emotional wrapper.

Constellation is spatial alphabet learning. Hiragana and katakana as star patterns. The idea came when trying to learn arabic and living in a rural place for some time, the nigth sky is quite beautiful isn't it?

Sleep is the final destination. Night colors. ZZZ animations via CSS keyframes. The app actively ends the session. No "keep going" prompt. No streak reminder. Just rest.

The game loop is randomized. The first mode selector was sequential, and testers memorized the rotation and gamed it (this a potential issue in SRS, you gain mechanical memory, being able to recite the full paragraph from begining to end but not only the third sentence). Now it's a weighted shuffle with cooldown: no same mode twice in a row, heavier weight for modes with more due items. The mode selector decides which mode fires next from four numbers and a cooldown guard.

Btw , I thought about adding this little detail when a user suceeded:

Chapter 3 of 6

Chapter 3 of 6

Mama-San:RateLimitingasCharacterDesign

how an engineering constraint became emotional UX, turning spending limits, grinding caps, and allowance boundaries into a character who enforces them through game mechanics and forgiveness rituals.

language mode · mama-sanJul 28, 2026
fuwakotolanguage-learningmama-sanrate-limitinggame-designcharacter-designmonetization

How do you tell a user "no" without sounding like a cold machine?

"Transaction declined." "Daily limit reached." "Please try again later." These are engineering messages dressed as UI. They communicate a constraint. They don't communicate care.

The technical problem is real. Users need spending limits (money), usage limits (grinding prevention), and allowance boundaries (in-game currency). These are hard constraints. The app can't let someone drain their bank account or grind SRS cards for six hours straight (am I right?).

The original implementation had three competing Mama-san screens, each with its own entrance animation. Different personalities depending on context.

Mama-san ( ◣_◢ ) appears when you hit a limit. She doesn't show an error code. She shows up in the room, in the konbini, on your phone, and says "enough."

The boss fight. Want to expand your spending limit? Fight Mama-san.

A turn-based mini-game. Win, and your allowance expands. Lose, and you wait. The interaction transforms "requesting a limit increase" from a support ticket into a game. You don't adjust your settings. You negotiate with Mama-san (and if she wins..... more about it later).

The memory game. Want to earn more onigiri? get a discount? fight mama-san? Play the memory game (we could rotate some game modes).

Card-matching with kaomoji pairs. Earn onigiri for your kokoro wallet. The game doubles as SRS review because the cards use vocabulary you're currently learning. You're grinding allowance AND reviewing words at the same time.

The emotional register matters. The focus was "help around the house and mom gives you allowance."

Gomen: the forgiveness mechanic. Sometimes you go over. You spend too many onigiri, you lose agaisnt mama-san boss fight, You grind too many sessions. Mama-san intervenes.

If you choose not to fight mama:

If you are sorry for something: You write a letter. You post it in the gomen postbox.

Mama-san reads it and forgives you. The limit resets (!important: mama dont forgive or bypass hard limit at konbini, she can forgive binge reviews though).

The postbox stores letters locally in the browser. Nobody reads them but you. The act of writing and posting is the point.... you receive some "yosh yosh" at the end.

Hard limit vs rate limit. Two types of boundaries.

The hard limit is the absolute cap. No amount of boss fights or memory games gets past it. Mama-san is firm here. No negotiation.

The rate limit is softer. You hit a rate limit, you wait, or you engage with Mama-san to earn more. Hard limits are parental protection. Rate limits are parental guidance.

The kokoro wallet. Onigiri balance. Allowance history. Mama-san's interventions. Gomen records. The wallet is our relationship ledger between you and Mama-san, spend too much and Papa cry.

Mama-san controls the tap. You earn onigiri through the memory game, through streaks, through the occasional boss fight. You spend them on retries, on cosmetics (eventually), on konbini merch (eventually). The currency system exists. The allowance logic exists. What doesn't exist yet is the connection between onigiri and real money.

The monetization question. The leading candidate is the Candy Crush retry model. Free retries with a wait timer. Or spend one onigiri for an immediate retry. The currency is diegetic. The wait is the default path. The retry is an impulse buy. [[continued in zine 04: The Konbini]]

This fits the SRS model. Spaced repetition requires waiting.

Hahaha I don't know how to monetize this thing.

Making something cute and making something sustainable are two different problems. The Candy Crush model might work. Patreon might work. Right now the app is free (PWA will be launched someday), the revenue plan ?? "figure it out later."

If I can't solve that, I'd rather keep it free ૮(˶˃ᆺ˂˶)ა, next chapter we'll explore a possibility.

Chapter 4 of 6

Chapter 4 of 6

TheKonbini:FromAllowancetoPurchase

how the monetization question from zine 06 got answered — a convenience store where buying something feels like entering a room with rules, not filling out a form

language mode · konbiniAug 7, 2026
fuwakotokonbinimonetizationdiegetic-commercemama-san

Remember when I said "have no idea how to monetize"? Let's explore a way, starting with the question: how could we turn commerce into a diegetic experience?

The full Konbini experience

Enters The Konbini. A room with rules you walk into. Shelf, product HUD, checkout, language QTE for discounts, Mama-san at the register, packing, shipping, arrival. The commerce flow gets a shape you can remember.

The Shelf

Tap a shelf item. It doesn't go straight to cart. It opens the product.

Shelf as the first product ritual
Product HUD inside Konbini

Drop events change the presentation for limited or seasonal items.

Drop-event surface for limited products

Checkout & QTE

Once the cart is real, checkout has to feel like a handoff (I want the bip).

Receipt rhythm and pay handoff
Language QTE as a live discount surface

The language QTE is the discount mechanic. Answer the challenge right, gain a discount. The discount is not hidden in a coupon field. It's part of the show =D.

Mama-San at the Register

Remember the boss fight from last chapter? The memory game, the gomen letters, the hard and rate limits? This is her at work, try to buy something expensive (higher than the allowance?) boom mama shows up.

Mama-san hard limit at checkout
Apology route

So last chapter I forgot to detail what happens/shows up when Mama wins or the user wins, here some demos:

Mama wins and edits the cart
Player wins and gets a Mama discount

Mama-wins: she removes what doesn't fit and the trip keeps moving. No dead ends. The cart edit keeps intent alive.

Mama discount: the opposite move. Instead of editing the basket, she edits the price. The refusal bends without dissolving.

Packing & Capy Express

Packing matters because it creates a pause (I tried some GSAP animations with wrapping the package but it got weird). Capy Express turns the delivery into a character (there was capy airlines too =D).

Packing station
Capy Express handoff

I want our shipping to feel like. Here we got your precious little thing and will take good care of it.

Arrival Ritual

The package arriving is not the end (have you heard of collaborative marketing?).

Here's what I thought: Photo. Video. Archive. Reward. Memory. So user buys something -> arrives -> user takes a picture or video -> it gets stored in their "room"/diegetic gallery -> user earns onigiris.

Arrival capture ritual
Archive wall and replay shelf

Shelf opens the product. Checkout resolves the cart. Mama-san sets the boundary. Packing gives the handoff shape. Capy Express carries the delivery. Arrival turns receipt into memory.

The whole thing has a rhythm now.

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Chapter 5 of 6

Chapter 5 of 6

WhatWeThrewAway

the mining arcade that felt like a casino, the YouTube transcription dead end, the ROOM made redundant by sleep, the konbini shopping dream that almost became an OMS, and what 30+ thrown-away prototypes taught about building to think.

language mode · thrown awayJul 28, 2026
fuwakotolanguage-learningprototypesyagnigame-design

Now regarding the "failures": The first game mode I built was a mining arcade. Tap floating bubbles. Mine words. Combo multipliers. It looked like a mobile game ad. The feeling was casino, not classroom.

The SRS algorithm underneath was solid. The game wrapper was poison. You can have a perfect spaced repetition system, but if the UI feels like a slot machine, people won't trust it for learning. Game feel matters more than game mechanics. I learned this by building the wrong thing, feeling why it was wrong, and throwing it away.

The replacement kept the bubble mechanic but changed the emotional wrapper. The evolution went arcade → sushi conveyor belt → KawaiiMining. Three versions, two thrown away, kawaiiMining answer: How to teach from a "live audio flow" + showcase image with meanings?

Deprecated idea from lingualeo: The YouTube transcription feature seemed obvious. Users paste a YouTube URL, the app transcribes it, we mine sentences for SRS.

Thrown away for three reasons. Legally problematic: copyright and fair use for language learning are not clear territory. Technically complex: speech-to-text pipeline across multiple languages with acceptable accuracy. Bad marketing: "paste a YouTube URL" is hard to explain and harder to sell.

The ROOM was a post-review destination space. After finishing SRS reviews, users would enter a virtual room with interactive elements and ambient scenes. I built it because I thought the app needed somewhere to go after studying.

Thrown away (for now). Sleep mode achieved the same goal with less complexity. Both provide a calm-down state after a session. But the ROOM is a game design project, not a language app feature. Building a virtual space with interactive elements is a separate product (for now).

Chapter 6 of 6

Chapter 6 of 6

TheKamishibaiTheatre

sixteen versions of a landing page, from a 3x3 phone grid through ScrollTrigger cinema to the v17 componentized rewrite with paper-pull transitions, and why the theatre metaphor matters more than any framework choice.

language mode · kamishibaiJul 28, 2026
fuwakotolanguage-learningkamishibailanding-pagescrolltriggerdesign-evolution

The landing page: how to showcase our kawaii journey?

Next

See more projects