Sunday, September 21, 2025

Show HN: I made a spaced-repetition-based language learning app https://ift.tt/zUsWkF4

Show HN: I made a spaced-repetition-based language learning app 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://ift.tt/h3qJIuO ---- 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. https://yap.town September 21, 2025 at 01:26AM

Show HN: WaFlow – Local sandbox to prototype WhatsApp-style bots https://ift.tt/dELYVg9

Show HN: WaFlow – Local sandbox to prototype WhatsApp-style bots I built WAFlow to prototype WhatsApp-style chatbots locally with plain webhooks. Repo: https://ift.tt/AyINgWO Docker up → chat in browser → simulator posts a webhook to your bot → bot replies via API → export/import transcripts. Stack: .NET 8 + Blazor. MVP: Polling UI, single user, text-only. Would love feedback on what’s missing for your workflow. September 21, 2025 at 01:10AM

Show HN: Rustchain – Rust toolchain AI agent framework universal transpilation https://ift.tt/itw9yRv

Show HN: Rustchain – Rust toolchain AI agent framework universal transpilation https://rustchain.dev September 20, 2025 at 11:59PM

Show HN: Little Fluffy Clouds: Combine a bunch of small adjacent networks https://ift.tt/cysWH4S

Show HN: Little Fluffy Clouds: Combine a bunch of small adjacent networks https://ift.tt/GjCIscm September 20, 2025 at 08:00PM

Saturday, September 20, 2025

Show HN: OS layer for running multiple Codex agents in parallel https://ift.tt/v7u2Ed5

Show HN: OS layer for running multiple Codex agents in parallel We built an open source layer to orchestrate multiple Codex agents in parallel. Found myself and some friends running Codex agents across multiple terminals. Thats why me and a friend built emdash. Each agent gets its own isolated workspace, making it easy to see who’s working, who’s stuck, and what’s changed. https://ift.tt/fjlvgBp September 20, 2025 at 01:12AM

Show HN: Devsyringe – automate injecting dynamic values into static files https://ift.tt/60x8LVe

Show HN: Devsyringe – automate injecting dynamic values into static files Tired of manually copying tunnel URLs, API tokens, or other dynamic values into config files? Even small tasks like this break flow and are error-prone. I built Devsyringe, a small Go CLI that automates this process. You define rules in a simple YAML file, run a command, and it updates multiple static files automatically. It works for tunnels, API keys, documentation, CI/CD configs — anywhere dynamic values need injecting. I’d love to hear how others handle injecting dynamic values into static files in their workflows. GitHub: https://ift.tt/DrS50YR https://alchemmist.xyz/articles/the-devsyringe/ September 20, 2025 at 12:34AM

Show HN: Run Qwen3-Next-80B on 8GB GPU at 1tok/2s throughput https://ift.tt/pLVzP09

Show HN: Run Qwen3-Next-80B on 8GB GPU at 1tok/2s throughput https://ift.tt/0pWdorD September 20, 2025 at 12:06AM

Show HN: Micro-RLE ≤264-byte compression for UART/MCU logs, zero RAM growth https://ift.tt/Pg74n2l

Show HN: Micro-RLE ≤264-byte compression for UART/MCU logs, zero RAM growth I needed to stuff twice the telemetry through the same 115 kbaud...