Case study · AI · Live product

Simple English Practice

Designing a speaking coach for learners who freeze when they speak. A web app where intermediate learners speak out loud, get scored feedback in seconds, and practise again without anyone watching. It is live, it takes payments, and it made its first sale 3 days after launch.

Role
Founder and sole product designer: research, strategy, UX, UI, design system, AI behaviour design, content and growth
Build
Designed in Figma, built through AI coding agents I directed — Next.js, Supabase, Gemini, ElevenLabs
Timeline
2–3 days from idea to live product
Platform
Responsive web, mobile-first
Status
Live at simpleenglishpractice.com, paid credit packs via Lemon Squeezy

(01) Why I built it

I built the tool I needed myself.

In Turkey, daily life happens in Turkish. Work, family, shops, friends — there are very few moments where you actually need to speak English, and many people around you speak only Turkish. So even when you want to practise, there is rarely anyone to practise with.

I wanted to improve my own spoken English, and the apps on the market kept pushing me into the same pattern. Duolingo cared about my streak, not my speaking. At some point I realised these apps weren’t really teaching me to speak English — they were teaching me to keep using the app.

So I designed the thing I was missing: a private place to speak out loud and get honest, specific feedback — with no one listening and nothing to keep up.

Idea to live product2–3 daysDesigned, built and deployed solo, by directing AI coding agents with written specs.
First paying customer3 daysafter launch, with no paid marketing.

Speed came from organisation, not shortcuts: a product brief, a flow document and step-by-step prompts that said exactly what to change and what not to touch. The rest of this case study is what those few days produced.

(02) The problem

Learners can read English but can’t speak it.

Most English apps train recognition, not production. Learners tap the right word, match pairs and keep a streak, then freeze in a real conversation. The alternatives each fail in a different way:

OptionWhat it givesWhy B1–B2 learners drop it
Gamified apps (Duolingo and similar)Daily habit, vocabularyAlmost no open-ended speaking, so no transfer to real talk
Human tutors (Cambly, iTalki)Real conversationCost per hour, scheduling, and fear of being judged
General chatbotsFree conversationNo structure, no scoring, no sense of progress
The gap

A private place to speak out loud, on a topic pitched at your level, with specific feedback and visible progress — at a price closer to an app than a tutor.

(03) Who it’s for, and the insight that shaped it

The target user is an adult intermediate learner (B1–B2) who studies on their own: preparing for an exam, a job move or life abroad. They understand far more than they can say.

Core insight

The blocker is fear, not knowledge.

Intermediate learners avoid speaking because they expect to be judged. That reframed the design goal from “teach English” to “make speaking feel safe enough to do again tomorrow”. Three principles came out of it:

  1. 01No audience.Practise alone, with no human on the other end.
  2. 02Specific, kind feedback.Show what to say instead, never just what went wrong.
  3. 03Progress without labels.Show improvement, never a grade that can demotivate.

(04) Five decisions that shaped the product

Each decision below traded something away. The trade-off is the point.

Decision 01

Value before sign-up: a live speech analyzer on the landing page

Visitors can tap the mic on the homepage, speak, and get a score and comment with no account. Most AI tools ask you to sign up before you see anything. For a product whose value is a feeling (“oh, it actually understood me”), the demo is the pitch. The sign-up CTA appears only after the result: “Track your progress, sign up free”.

Trade-off: every anonymous demo costs transcription and model calls. I accepted that cost because it replaces a paragraph of marketing copy nobody believes.

Decision 02

A hidden level system

Onboarding asks three short questions and runs a quick vocabulary check to set a starting level. After every session the level is re-estimated in the background, and it decides how hard the next prompt is — everyday topics low, abstract opinions high.

Users never see “B1” or “B2”. A label tells a nervous learner they are “only intermediate” and gives them a reason to stop. They see motivational messages and their own score trend instead.

Trade-off: some users want a certificate-style level. I chose retention over that request for v1.

Decision 03

Feedback built to be acted on, not just read

Every recording returns three scored dimensions — grammar, vocabulary, fluency — plus an overall score. Each dimension carries one comment and one concrete example of a better way to say it. I capped it at three so a learner can absorb it in under a minute and try again.

I designed the output format with the model, not after it: a fixed JSON schema means the UI never has to handle surprise structures, and each card always has a score, a comment and an example.

Decision 04

A friction-light practice loop

Pick a category (Daily Life, Travel, Work, Opinion, Storytelling), read the prompt and tips, hold the mic, get feedback. A four-step first-run tour points at exactly those elements, then never appears again. The mic button is the largest tap target on the screen and the only element that pulses.

Decision 05

Deliberately out of scope

Pronunciation scoring, session history, social features and native apps were cut from v1. Pronunciation needs a specialised audio model to be trustworthy, and a wrong pronunciation score is worse than none for an anxious learner.

(05) Design system

I wanted practice to feel like a gym, not a classroom — but a gym you can stay in for an hour. The working surface stays quiet and neutral; colour only speaks when you’ve earned a score.

One colour, one score — forever

Colours are not decorative. Each accent is permanently tied to one score category, on every screen — cards, charts, badges, progress bars — so learners read the feedback without thinking. The only gradient in the product belongs to the overall score: grammar blending into vocabulary.

  • GrammarCyan · also the primary CTA and the recording pulse
    Light #0099CC
    3.27:1 on white
    Dark #00D4FF
    10.41:1 on #141414
  • VocabularyLime · also success states
    Light #6DBF00
    2.31:1 on white
    Dark #CCFF00
    15.68:1 on #141414
  • FluencyWarm orange · also warnings
    Light #FF5733
    3.15:1 on white
    Dark #FF6B35
    6.50:1 on #141414

Light by default, neon at night

Two modes share the same colour DNA. Light mode is the default and uses deeper, calmer versions of each accent on a cool off-white; dark mode is a user toggle where the same three colours turn fully neon on near-black. Below, the feedback card rebuilt from the real tokens (sample scores).

Light — default
Your feedback74
Grammar72
Vocabulary68
Fluency81
Try again
Dark — user toggle
Your feedback74
Grammar72
Vocabulary68
Fluency81
Try again

Type — one family, Plus Jakarta Sans

Score numbers are set tighter (–0.02em) so they land with weight; overlines are set wider (+0.08em) so tiny category labels stay readable. Headlines are capped at 8 words, buttons at 4, always starting with a verb.

StyleSize / weightWhere
Display48 / 700Hero score, landing headline
Heading 132 / 700Page titles
Heading 224 / 600Section titles
Heading 318 / 600Card titles
Body16 / 400Body text
Small14 / 400Secondary text
Caption12 / 500Labels, badges
Overline10 / 500Category labels, uppercase +0.08em

Flat surfaces

No shadows. Cards are white or #141414 with a 0.5px border and 10px radius; hierarchy comes from colour and spacing only. Buttons are pills — filled cyan for the primary action, outlined for everything else.

Three animations, each with a job

The mic pulses in cyan while recording. The score counts up from zero so the result feels earned. Progress bars fill over 600ms. No hover animations, no page transitions, no decorative motion.

Deliberately left out

Purple in any form, to step away from the default “AI product” look. Gradients as backgrounds. Shadows. System-level dark mode — the toggle is the user’s choice.

Copy rules belong to the system too.

User-facing text never says “Error”, “Failed” or “Invalid”, and never shows a level label. A failed recording reads as an invitation to try again.

Contrast check — what I’d fix next

Dark mode passes comfortably. In light mode, cyan and orange clear 3:1 for the large score numbers but not 4.5:1 for small text, and light lime sits at 2.3:1 — fine as a bar fill, too light for a number. White text on the cyan button is 3.3:1. The next pass darkens the light-mode accents for text use while keeping the bright versions for fills.

(06) Designing with AI as a material

The hardest design work here was not the screens. It was deciding how the AI should behave so the screens could be trusted.

What the learner sees
  1. 1 · Pick a category
  2. 2 · Read prompt + tips
  3. 3 · Hold the mic
  4. 4 · Three feedback cards
What runs behind it
  1. Dedicated speech model transcribes
  2. Analysis returns one fixed JSON shape
  3. Level re-estimated quietly
  4. Next prompt tuned to that level
Only the feedback cards face the learner; the level estimate stays behind the scenes and quietly tunes the next prompt.
  • Structured output as a design contract.The analysis prompt returns one fixed JSON shape. That let me design feedback cards once and know every response would fit them.
  • Tone written into the prompts.Feedback is instructed to be encouraging and to always include a better example, mirroring the copy rules in the UI.
  • The right model per job.Transcription moved to a dedicated speech model after general models mis-heard accented speech; a mis-heard word turns into unfair feedback.
  • Privacy by default.Audio is never stored. Only the transcript and feedback are saved.
I’m not a developer.

I built the product by directing AI coding agents with written specs: a product brief, a flow document and step-by-step prompts that state what to change and what not to touch. Writing specs precise enough for an agent turned out to be the same skill as a good design handoff.

(07) Business model and growth

Credits, not a subscription.

Learners get 10 free sessions, then buy one of three credit packs. Self-learners practise in bursts before an interview or exam, and a monthly subscription punishes that pattern. Credits also map cleanly to my real cost per session.

Content designed for AI search.

Search is shifting to AI answers, so I designed a content system rather than writing posts one by one. Every article follows one template: a short direct answer at the top, headings phrased as real questions, a comparison table, an FAQ and peer-reviewed sources — and ends in a soft path to the practice screen.

(08) Outcomes and what I learned

From idea to a live, paying product as a team of one — and its first sale 3 days after launch, with no paid marketing.

What I learned

  1. 01
    Designing AI means designing its failure modes.The most important screens were the ones for a bad recording or a mis-heard word.
  2. 02
    Hiding information can be the kind choice.Removing the level label was a design decision with more impact than any visual change.
  3. 03
    A spec is a design artefact.Directing agents forced me to write down every state and edge case, which made the product more coherent.
  4. 04
    Cut early.Leaving pronunciation out kept v1 trustworthy.

What’s next: personal coaching and retention features (weekly goals, reminders, a progress summary worth coming back for), product analytics to measure the practice loop properly, and short-form video as a growth channel.

Try it live ↗
Next project
sWallet
View →