Ad Your top banner ad unit — 728×90 or responsive — goes here
Your browser doesn't support live speech recognition. Try the latest Chrome or Edge on desktop or Android for pronunciation scoring — you can still read along without it.
Ad Leaderboard ad unit — 728×90 — shown under the top bar

What's your English level?

Pick the level that feels right. You can always come back and try a harder one once a story feels easy.

Special Features
AdLarge responsive ad — shown here for free users on a vertical tablet
AdLarge responsive ad — under the special features
AdWide responsive banner — under the top bar
AdWide responsive banner — under the top bar
AdWide banner ad unit — 728×90 or responsive — under the top bar

Choose a story

Short pieces written for this level. Pick whichever sounds interesting.

Ad In-feed ad unit — sits inline with story cards, e.g. native ad format
AdWide responsive banner — under the top bar

How do you want to practice?

Pick a mode for "".

AdLarge responsive ad — under the mode cards
AdWide responsive banner — under the top bar
Story title Level
3 Get ready to read…
Recording… Tap the button below to see your results when you finish
0:00
Press the button, then read the story aloud at your own pace. Microphone access was blocked. Allow microphone permission in your browser to record.
AdWide responsive banner — under the top bar
AdWide responsive banner — under the top bar
Story title Level
3 Get ready to read…
Recording… Tap the button below to see your results when you finish
0:00
Press the button, then read the whole story aloud at your own pace. Microphone access was blocked. Allow microphone permission in your browser to record.
AdLarge responsive ad — under the story frame

Analyzing your pronunciation…

Listening to your recording

Results

Here's how it went

Your reading of "".

0 out of 100
—

Nice work reading that through.

0 words read
0 matched clearly
0:00 time taken
0 new words to practice
AdLarge responsive ad — under the pronunciation breakdown
Ad In-results ad unit — responsive — shown under the breakdown on mobile
AdWide responsive banner — under the top bar
AdWide responsive banner — under the top bar

Practising 1 of 4

Step 1 · the word alone

word

/wɜːrd/

Tap to record yourself saying it
Recording… Say it, then tap “See result” below
AdLarge responsive ad — under the practice frame
AdWide responsive banner — under the top bar

Your word vault

Words you're mastering

Every tricky word from every story lands here. Come back anytime to practice until it's mastered.

AdWide responsive banner — under the top bar

Practice with your own text

Paste a story to practice

Paste any English text — an article, a script, your own writing — and we'll turn it into a teleprompter-ready practice story.

0 / 120 words
AdLarge responsive ad — under your text
AdWide responsive banner — under the top bar

Intensive practice

Which words do you want to practice?

Your words are grouped into practice sets. Pick one and we'll write a story around it.

Not practiced yet — you haven't practiced any word in this set. In progress — you've practiced some, but not all, of these words. Completed — you've practiced every word in this set.

Building a story uses 1 token. Seeing your results afterwards uses 1 more.

Your history

History

Your reading scores and the texts you've worked with, all in one place.

🎯 Intermediate

That's your starting level

Based on how clearly you read the passage, we'd recommend starting here. You can always switch levels later.

Admin · demo

Admin panel

Test Premium (admin only)

Clears premium, no-ads, trial, and plan on your own database profile (handy after testing checkouts). Only affects your account.

Show ads (Adsterra)

Launch mode — free Premium for everyone

Token mode — free tier, no ads

Reading time (completion card)

How long before the "Finished reading?" card appears, as a multiplier on the estimated reading time (based on story difficulty + reader level). Lower = card appears sooner; higher = waits longer. This is a backup for when reaching the last word isn't detected.

Time multiplier 1.0×

Speech recognition provider

Which service transcribes readings for scoring. Deepgram is the default (higher accuracy). AssemblyAI is cheaper per minute for batch audio. Switch to A/B test cost and quality — the change applies to all backend-scored readings (premium everywhere, plus free mobile). Requires the provider's API key to be set in Supabase.

Active provider Deepgram

Maintenance mode

When ON, regular users see a "We'll be right back" page and can't use the site. You (admin) keep full access, so you can safely try new features live. Applies to everyone, on every device. Remember to turn it OFF when you're done.

Scoring strictness

How forgiving pronunciation scoring is. Flexible accepts a clear accent and only flags words that would genuinely be misheard. Strict expects near-native pronunciation and flags far more. This changes scores, which words land in the vault, and how quickly users level up.

Pronunciation scoring Balanced
FlexibleStrict

Ad frequency — how often the pre-results ad appears

Each story type carries its own ad with its own skip time. Lower these to show ads less often and improve the experience; raise them for more revenue.

Built-in stories skip after 5s Always
NeverAlways
Paste your own text skip after 15s Always
NeverAlways
Intensive mode skip after 15s Always
NeverAlways

Branding

SVG only. The uploaded logo shows in the top bar in place of the default. (Demo: the logo lasts for this session only.)

API connections

Story generation Checking…
Pronunciation scoring Checking…

The app works fully without either — these only enable enhanced story generation and real pronunciation scoring.

Device diagnostics

What the app detects about the current device and how it will score readings. Useful for debugging device-specific issues.

Stories

Reward & skip videos

Add branded videos (paste an <iframe> embed) with an affiliate link. These fill the "watch to earn tokens" reward and the pre-results skip ad, rotating between brands. Users are rewarded for watching; the affiliate button is an optional click.

A direct video file (.mp4/.webm) autoplays full-size with sound and can't be paused — best for a real ad feel. If you leave this blank you can use an iframe embed below instead.

Category chips

Changes here are a draft — nothing is public until you press Update. Remove a chip with its ×.

Promo codes

Create demo codes users can redeem. (Demo only — codes live in the browser.)

Testing tools

Shortcuts for testing the token / ad / referral flows without waiting.

Clears tokens, referral credits and rewarded-ad counts from this browser, then reloads — a clean slate, as if you'd never used the app.

Ad Bottom banner ad unit — sticky footer placement