Läsa svenska
AI-written Swedish stories, checked by a linguistic validator, pitched at exactly the SFI course level you're on.
- Part no.
- A93-05
- Status
- live
- Platform
- Mobile · Web · API
- Year
- 2026
- Stack
- PythonFastAPIClaude APIStanza NLPPostgresRedisExpo
Learners on SFI (Swedish for Immigrants) courses run out of reading that's at their level. Children's books are too childish and news is too hard. Asking ChatGPT for an "easy story" gives you whatever level it feels like.
An endless supply of reading at the right level, checked properly. Because a validator, not the model, decides whether text is on level, the app can make a promise teachers can trust. A tap-to-translate reader also tracks which words you've learned.
Freemium for learners (≈ €5/mo), with school or municipality licences as the bigger prize.
- SFI learners in Sweden each year (rough)≈ 150,000
- ×Reachable and paying2%
- =Subscribers3,000
- ×Price€5/mo
- =Annual revenue≈ €180k
- ÷Each story is shared by every learner at that level
- =LLM cost per learner≈ cents
- Railway: API, worker, Redis, Postgres
- ≈ €50/mo
- Nightly story generation (≈ 160 stories)
- ≈ €250/mo
- Email login (Resend)
- free tier
The LLM bill grows with the number of stories, not the number of learners, because one validated story serves everyone at that level. At 100× users, the cost per learner falls.
The most promising business here. A real, recurring, publicly funded audience, and costs that don’t grow with users.
- 01Your levelSFI course 1A–3D, plus the words you’ve already learned.
- 02Claude draftsA cached course prompt, with structured JSON output through tool calls.
- 03ParseStanza lemmatises and tags every sentence.
- 04ValidateCoverage against the Kelly word list and a grammar ladder that builds level by level. Fail means regenerate.
- 05Read & learnTap a word for its meaning. Once you stop tapping it, it counts as learned.

The LLM proposes
Model output is treated as a draft. A deterministic NLP validator makes the call on level, so quality doesn’t depend on prompt luck.
Grammar ladder
Grammar rules unlock course by course, so a 2B story can’t sneak in 3D grammar even when the vocabulary looks easy.
Production from day one
FastAPI, an arq worker on Redis, Postgres, a nightly cron and email-code login, running as three Railway services.
API live and the mobile app in progress. Next step is a review with SFI teachers.