top of page

Chamo

A gamified language learning app designed around retention, not just instruction.

Role: UI/UX Designer

Timeline: 2023

Focus:  Visual Design, Interaction Design, Gamification System

Presentation-2.png

01. The Challenge

Language learning apps don't have a teaching problem. They have a retention problem.

Most users download with high motivation. By week two, 80% have stopped opening the app. The content works. But nothing makes users come back tomorrow.

Duolingo solved this with streaks and notifications. Streaks rely on guilt, and guilt is fragile. I wanted to explore a different angle:

曲线.png

what if the app felt like a game you wanted to return to, not a classroom you had to force yourself into?

The constraint: prove the retention loop works within 7 core screen types. If the system can't hold together at minimum viable UI, more screens won't save it.

02. Design Direction

I audited Duolingo, Busuu, and Babbel.

Screenshot 2026-02-15 at 2.48.58 AM.png

Duolingo

+ strength:  Best-in-class gamification: streaks, XP, leaderboards.

- gap: Motivation is guilt-driven. Social features feel bolted on.

Screenshot 2026-02-15 at 2.49.57 AM.png

Busuu

+ strength:  Strong community correction features.

- gap: Utilitarian visual design. No emotional pull to return.

Screenshot 2026-02-15 at 2.50.40 AM.png

Babbel

+ strength:  Structured curriculum with real-world conversation focus.

- gap: No gamification. Feels like a textbook on a phone.

Design opportunity: Build one interconnected retention loop combining gamification, social, and progression, not separate features stacked on top of each other.

03. The Retention Loop

Retention Loop.png

04. Visual Design

小互动.png

04

Micro-interactions

Every correct answer animates. Every level completion triggers the mascot. Not cosmetic. Dopamine architecture that drives "one more lesson."

color.png
吉祥物.png

02

The Mascot

There are three roles of Chamo: onboarding guide (reduces first-session intimidation), emotional feedback (celebrates wins, encourages after mistakes), and Store anchor (customization creates attachment). A mascot without a system role is decoration. This one has a job.

01

Color Strategy

Green as primary, not because of Duolingo, but because green reads as "go," "correct," "progress" across cultures. Orange for urgency without anxiety.

My visual goal is to make make learning feel lightweight. Language learning already demands mental effort. The UI shouldn't add more.​

地图.png

03

Route Map and Course List

Same lessons, same order. A list feels like homework. A map feels like exploration."

05. Key Screens

A

Onboarding 

Four steps from stranger to learner. Motivation starts before the first lesson.

Group 6-2.png

B

Route Map + Mission

Spatial memory. Users remember where they are, not what lesson number. Daily tasks surface without leaving the map.

Group 4.png

C

Lesson

Minimal chrome, maximum content. The interface disappears so the learning can fill the screen.

Group 7-4.png

D

Challenge Mode

Timer and opponent create urgency. UI stays calm. Pressure from the mechanic, not the visual.

Group 5-3.png

E

Community

 "Activity feed, not leaderboard. 'Sarah completed 3 lessons today.' Inspiration, not intimidation."

Group 8.png

F

Store

 Items are displayed on the mascot, not in a grid. You're dressing a companion, not browsing a catalog.

Group 9.png

06. Reflection

My Final thought on this project, and areas for future growth:

Untitled design-2_edited.png

Retention is a system problem, not a feature problem.

I started by designing individual screens. It didn't work until I stopped thinking in screens and started thinking in loops. The Route Map alone didn't improve retention. Route Map connected to Mission connected to Challenge did.

Untitled design-2_edited.png

Gamification has a ceiling.

Adding more game mechanics doesn't make users stay longer. The moment I stripped Store down from functional power-ups to cosmetic-only items, engagement logic became clearer. Less mechanics, more emotional investment.

Untitled design-2_edited.png

I designed the UI before testing the loop. That was backwards.

 The pixel-perfect screens looked great in my portfolio but I had no evidence the five-system loop actually held together. Next time I'd validate the system with paper prototypes before opening Figma.

Base in New York

(open to relocated)

bottom of page