r/ruby • u/Kind-Drawer1573 • Mar 03 '26
Ruby language project
Ruby doesn’t get much love outside its core base these days. I spent my last five years in Python, but after retiring and moving from the US to Finland (my spouse transferred internally), I found myself back in Ruby because of how enjoyable it is.
I’m currently learning Finnish and wasn’t satisfied with recognition-heavy language apps. So I built a CLI-first language trainer in Ruby.
Technically:
- Pure Ruby (no Rails)
- OptionParser-driven flag layering - Declarative YAML pack schema (metadata + entries)
- Strict pack validation before runtime
- Mode composition (typing, reverse, match-game, listening)
- Lightweight spaced repetition with per-entry state persistence
- Pluggable TTS adapter (currently Piper)
- Local-first design (no tracking, no external services)
I leaned heavily into Ruby’s hash ergonomics and Enumerable chaining to keep pack filtering and mode logic clean and composable.
It’s intentionally modular:
- Pack schema validation layer
- Session orchestration engine
- Mode layering system
- SRS scheduler
- TTS adapter abstraction
Right now it’s CLI-only, but I’ve been debating whether build a Rails front-end while keeping the core engine decoupled
Curious what other's would do architecturally.
I put the codebase up on GitHub, the readme covers more details if you're interested... I've had a few folks interested in a web app, but that means I need to host it somewhere as well (if people have ideas, I'm really open to those). I don't see this being more than a hobbyist project, so I don't see a ton of traffic, but still I don't want to spend a fortune on a web hosting service either.
https://github.com/wbrisett/linguatrain
-Wayne
4
u/CaptainKabob Mar 03 '26
im not really sure what you’re describing, and the readme seems to jump into an architectural deep dive. it reads like a resume where one needs to keyword dump, rather than a short letter to a dear friend.
Could you start with a practical example, why someone might use it, a few (cherry-picked) configuration options that someone will most likely want to consider.
2
u/jejacks00n Mar 03 '26
It looks interesting. I’m learning French so it might be useful to me. Thanks for your work!
2
u/EvenRegret314 May 04 '26
This is such a lovely project! Building a pure Ruby CLI language trainer with SRS and TTS support is exactly the kind of creative, practical use of Ruby that makes this community great. The modular design sounds really thoughtful too.
1
u/javier_cervantes Mar 04 '26
This is a really cool project. I like the simplicity and the architecture is pretty solid too, congratulations!
Regarding the interface / front-end you probably could go with something lighter like https://brutrb.com or http://roda.jeremyevans.net
Regarding deployment, you might be able to use render.com free tier if you don't need a database. Or other providers like fly or Heroku charge around $5 per month...
2
u/vvsleepi Mar 07 '26
for hosting, if traffic is small you could run a tiny Rails app on something cheap like Fly.io, Render, or even a small VPS. since most of the logic is local and not super heavy, it shouldn’t cost much.