frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: I made a spaced-repetition-based language learning app

https://yap.town
3•ChadNauseam•1h ago
I don't know who all here is interested in language learning, but I thought I'd share something I've been working on. I was frustrated by the inefficiency of Duolingo, and while the rational choice might have been to try some other apps, I decided to just make my own. You can use it here: https://yap.town/ - btw it's totally free and I don't intend on changing that.

It's based on pedagogy principles like spaced repetition and the testing effect. I genuinely think it's probably the most efficient language learning app out there, though it's less polished since I only work on it in my spare time. (And because I haven't tried every language learning app out there, I can't really conclusively make that determination, but I still think it's the best for reasons I'll get into.)

By the way, the frontend is mostly Rust compiled to WASM, which enabled performance optimizations that would've been tough in JavaScript. One other thing: the app is local-first and has cross-device sync based on CRDTs, which I figure should be a hit here. Honestly, that was pretty much as much work as the entire rest of the app combined. The source code is here: https://github.com/anchpop/yap

----

Building this taught me a lot about spaced repetition. The core idea with Yap is that it tests you with sentences that contain words you need to practice. But this gets tricky because words have multiple uses. If you mistranslate a word used one way, practicing it in a different context isn't helpful.

My solution uses NLP (using spaCy) to annotate words with their parts of speech and lemmas, which distinguishes different uses and conjugations of the same word. I also maintain a database of "multi-word terms", because many phrases (such as "a lot") need to be learned as units.

For spaced repetition, the scheduler is FSRS, which is state of the art.

For users with prior language exposure, I automatically adjust difficulty by analyzing word frequency against what they seem to find easy, helping me show them the most common words they don't yet know.

Using the app feels odd at first - after learning just a few words, you can already form sentences like "Why did you do this to me?" These sound complex but use only common words. Unlike Duolingo teaching you "apple" early on, learning the most frequent words first lets you grasp sentence structure immediately, then figure out remaining words from context.

No app is a complete language learning system, this included, but I hope it's a useful supplement to whatever else you're doing to learn a language. One useful supplement to my app is the Pimsleur method, which I have been using as well and having a lot of success with.

----

on Apple platforms, the app requires the latest version of Safari because I use some APIs that were only recently implemented on Apple platforms. Desktop users are always fine with Chrome of course, regardless of platform. I've considered fixing this, but it would kind of be a pain, and because I'm primarily making the app for myself I haven't put too much effort into things that would not benefit me.

Comments

david927•1h ago
I like it but it assumes I'm starting the language from scratch. How do I set my level to intermediate?
ChadNauseam•1h ago
If you already know a word, just mark it as "already known". If you already know all the words it's showing you, that will cause the difficulty to ramp up very quickly as it starts skipping ahead to find words you might not know. (If you scroll down to the bottom of the page and open the "graphs" section, you can see the logic behind it.)

The app "only" includes about the 3,000 most common words, so if you're past that level, I don't know how helpful it will be to you. I can easily extend this in the future, I just need bigger corpus with more data.

Stages of Software Tech Stack Adoption (You're Probably in Stage 5)

https://robbyonrails.com/articles/2025/09/20/seven-stages-of-tech-stack-adoption/
1•todsacerdoti•1m ago•0 comments

C++ Memory Safety in WebKit [video]

https://www.youtube.com/watch?v=RLw13wLM5Ko
1•vitaut•2m ago•0 comments

Seedream 4.0

https://seed.bytedance.com/en/seedream4_0
1•SoKamil•5m ago•0 comments

Invasive Israeli-founded bloatware is harvesting data from Samsung users in WANA

https://smex.org/invasive-israeli-software-is-harvesting-data-from-samsung-users-in-wana/
35•like_any_other•9m ago•0 comments

Building a Blockchain in Zig

https://blog.mariodev.xyz/blockchaininzig/
1•mariodev__•11m ago•0 comments

Interview with Otomo Katsuhiro (Domu/Akira) – Behind the Scenes of Manga

https://www3.nhk.or.jp/nhkworld/en/shows/5001486/
2•lintalist•11m ago•0 comments

Show HN: ScaryStories.Live – Real-Time AI Horror Video Generator

https://scarystories.live
1•tonyabracadabra•12m ago•0 comments

Python 2 LLMs: Self-Study

https://python2llms.org/
1•yegortk•14m ago•0 comments

An Interview with Cal Henderson

https://buildingslack.com/in/
1•mygrant•15m ago•0 comments

$2 WeAct Display FS adds a 0.96-inch USB information display to your computer

https://www.cnx-software.com/2025/09/18/2-weact-display-fs-adds-a-0-96-inch-usb-information-displ...
1•smartmic•23m ago•0 comments

A brief history of threads and threading

https://eclecticlight.co/2025/09/20/a-brief-history-of-threads-and-threading/
3•emschwartz•23m ago•0 comments

CEOs capture about 68–73 percent of the value they bring to their firms

https://marginalrevolution.com/marginalrevolution/2019/04/are-top-ceos-underpaid.html
3•delichon•23m ago•1 comments

Trump Administration Cancels Annual Hunger Survey

https://www.wsj.com/economy/trump-administration-cancels-annual-hunger-survey-ca3d3793
6•mdhb•25m ago•0 comments

Show HN: Explore & understand research papers with Theoria, an AI-powered app

https://theoria-ai.com/
1•BBEK•28m ago•0 comments

Is It Time to Go Internet Sober?

https://www.thefp.com/p/suzy-weiss-is-it-time-to-go-internet-sober-social-media-detox-culture
1•fortran77•29m ago•0 comments

Kehlani criticises AI-generated artist Xania Monet getting $3M record deal

https://www.nme.com/news/music/kehlani-criticises-ai-generated-artist-xania-monet-getting-3millio...
1•pseudolus•33m ago•0 comments

"Putting the AI in IPA"

https://xcancel.com/search?f=tweets&q=vampiric_shirin%2Fstatus%2F1812901575368798413
1•gregsadetsky•37m ago•0 comments

Anyone else seeing data disappear on y-sweet from Jamsocket / Modal

https://twitter.com/vicapow/status/1969502262452978110
1•vicapow•38m ago•0 comments

The Definitive Event Sourcing Database Guide

https://www.eventsourcingdatabase.com/
3•goloroden•40m ago•0 comments

A practical introduction to parsing in Rust

https://jhwlr.io/intro-to-parsing/
2•PaulHoule•41m ago•0 comments

Palestinians in West Bank: local digital maps to navigate blockades,checkpoints

https://restofworld.org/2025/palestinians-digital-maps-west-bank-israel/
8•vinnyglennon•41m ago•0 comments

H-1Bs – Immigrants with Degrees Spur Economic Growth

https://www.nominalnews.com/p/h-1bs-immigrants-with-degrees-spur
2•MPLan•43m ago•1 comments

(nossl) Looking for an alternative to GitHub? Look no further than Git itself

http://mikhailian.mova.org/node/305
1•sam_lowry_•43m ago•0 comments

The Abysmal State of Contract Software Development – Shaffan's Blog

https://smustafa.blog/2025/04/30/the-abysmal-state-of-contract-software-development/
1•vinnyglennon•43m ago•0 comments

Causal Inference: The Mixtape

https://mixtape.scunning.com/
1•samanklesaria•44m ago•0 comments

The Wire in HD (2015)

https://davidsimon.com/the-wire-hd-with-videos/
2•tosh•47m ago•0 comments

Translation and Taste

https://hedgehogreview.com/issues/lessons-of-babel/articles/translation-and-taste
1•rntn•49m ago•0 comments

Getting Back to the Wrong Nature

https://www.williamcronon.net/writing/Trouble_with_Wilderness_Main.html
1•samanklesaria•50m ago•0 comments

CVE-2025-57204: Stored XSS in Stocky POS with Inventory Management and HRM

https://grumpz.net/cve-2025-57204-stored-xss-in-stocky-pos-with-inventory-management-and-hrm-ui-l...
1•grumpzsux•50m ago•0 comments

Is Whole-Body Cryotherapy the New Ice Bath?

https://www.outsideonline.com/health/wellness/i-tried-cryotherapy/
1•bookofjoe•50m ago•1 comments