Show HN: Open-source early-reading reader with phonics help

Hacker News Top Products

Summary

Show HN: Yara Reads 是一个开源的儿童早期阅读应用,专为刚学完自然拼读phonics的孩子设计,每个单词都可逐音素拆解朗读,并内置按发音校验词汇的检查器。项目基于 Cloudflare Worker 构建,支持通过 MCP 接入 Claude/ChatGPT 等代理自动生成符合孩子音素水平的故事。

My kid is 6 y&#x2F;o and she is learning to read. She&#x27;s moved through the basic phonics with Teach Your Monster to Read but was struggling with how repetitive it was. I wanted to give her some stories to read, but she still needed help sounding words out - and I wanted her to have the experience of sitting and reading by herself.<p>So I built this book reader app to allow her to click on the words, sound out the phonemes, and read by herself.<p>My 12 year old son wrote the first story, there&#x27;s a cliffhanger at the end and he&#x27;s working on the next section.<p>We&#x27;re going to release more chapters and more stories in the near future.<p>And there&#x27;s one other thing -<p>The reader has an MCP connection, so you can connect your Claude or ChatGPT or Grok, give them a PDF of a book you like (or even a set of scans done quickly with a phone camera) and have them import your favorite books into the app (private to your account, for your own kid, if you own the book of course).<p>The reader is free to use on its website and open source if you want to tinker and create your own version.<p>The included stories are under Creative Commons.
Original Article
View Cached Full Text

Cached at: 10/19/26, 08:07 PM

finereli/yarareads

Source: https://github.com/finereli/yarareads

Yara Reads

Read it: yarareads.finereli.com - free, no account needed.

A reading app for kids who have just learned their phonics sounds and need something real to read. Every word in a story can be sounded out with the sounds they already know. When they get stuck, they tap the word and its sound buttons appear right there.

I made it for my daughter Yara. She’s six and loves glitter, magic and dragons. She’d finished Teach Your Monster to Read and I couldn’t find anything for her to read next that was both a good story and made only of words she could sound out. Her big brother Tom wrote the first story, and the app is built so there can be many more.

image

What’s different

  • The help lives on the word. Tap any word: a dot under single letters, a bar under pairs like “sh” and “ee”, an arc joining split vowels like a_e. One speaker button lights each sound in turn, then says the word. It never reads whole pages for them.
  • The checker is the point. Stories are checked word by word against the sounds the child knows, by pronunciation and not just spelling (“cake” fails if the child hasn’t learned the split a). npm run check fails a story with a word they can’t read.
  • Bring your own books. Connect your own agent (Claude, ChatGPT, anything that speaks MCP) and it writes stories inside your child’s sounds, or types in books you own. It checks its own words, adds pictures, and shows you the result. Only your account sees them.
  • You set what your child knows. Switch sounds and tricky words on or off. Words with a sound they haven’t learned get a dotted underline and the new sound shows in purple.

Run your own

It’s a Cloudflare Worker with static assets, D1 for data and R2 for pictures. No build step. If you’re a tech dad (or mum) with a kid who’s learning to read, I’d love you to take this and make it yours.

git clone https://github.com/finereli/yarareads && cd yarareads
npm install
npx wrangler d1 create yara-reads          # put the database_id in wrangler.jsonc, with your account_id
npx wrangler r2 bucket create yara-reads-pictures
npx wrangler d1 migrations apply yara-reads --local
node tools/lexicon-asset.mjs               # the word dictionary the worker uses
node tools/push.mjs --local --inventory --images --owner dev   # load the stories (--owner: books from home, if you have any)
npx wrangler dev

Then npm run deploy when you’re happy (edit the routes in wrangler.jsonc for your domain; deploy needs the dictionary step, which the script runs for you).

Things to know:

  • It works signed out. That’s the whole app, with the sounds and progress kept in the browser. Accounts (and so agents) use login.finereli.com, which only serves my own apps. To run accounts yourself, swap in your own sign-in: public/login.js and src/verify-login.js are the only files that know about it.
  • The sounds are my voice, recorded for the tiles, and they aren’t in this repository. Without them the tiles still light up but stay quiet. Record your own with tools/sounds-record.mjs (see the comment at the top). Words are spoken by Cloudflare Workers AI, so deploying needs an account with that enabled.
  • Write a story: copy content/stories/toby-1.json, edit the pages, run npm run check. It tells you every word your child can’t read yet. Never loosen the sounds to make a story pass: rewrite the story. docs/vocabulary.md has the queue of what to teach next.
  • Pictures: docs/illustration.md and tools/illustrate.mjs describe how the illustrations were made.
  • CLAUDE.md explains how everything fits together, for you or your agent.
  • Usage numbers: node tools/stats.mjs.

Licenses

Code: MIT (LICENSE). Stories and pictures: Creative Commons Attribution 4.0 (content/LICENSE.md), so remix away and credit Yara Reads and the authors. Third-party material: NOTICE.md.

Privacy · Terms

Similar Articles

@Jolyne_AI: A developer studying New Concept English wanted to practice listening and reading aloud, but kept getting tripped up by trivial things: finding audio separately, dragging the progress bar back and forth to jump to a specific sentence, interrupted rhythm, plummeting efficiency. So he made an open-source tool: NCE Flow, turning all four volumes of New Concept English into an online click-to-read learning system, solving the hassle of "finding audio, matching sentences, dragging the progress bar" all at once.

X AI KOLs Timeline

NCE Flow is an open-source tool that turns all four volumes of New Concept English into an online click-to-read learning system, featuring sentence-level click-to-play, multi-language views, variable speed and continuous playback, progress tracking, and more. It can be self-deployed via Docker or used directly online.

Glyphi: Speed Reader

Product Hunt

Glyphi is an RSVP speed reader that lets you quickly read books, PDFs, articles, and webpages by presenting text one word at a time.

@yadong_xie: Introducing my personal English reading browser extension. It automatically highlights words beyond your English level on English websites. Before Claude API became paid separately, I ran 2 Claude 20x maxes and processed a 160k word list. No registration required, free to use. https://readto.ai

X AI KOLs Following

Introduces a Chrome extension called readto that automatically shows Chinese definitions above new words on English web pages based on the user's English level, without needing to select words or interrupt reading. The extension used Claude API to process a 160k word list and is free to use.