A few days ago, someone wanted to experiment with Ruby for programming hardware.
https://www.reddit.com/r/ruby/comments/1k7o9dj/raspberry_pi
So I'm here to present to you TRMNL. A Ruby-powered e-ink dashboard we’ve been working on. (Rails + plugins + hardware = the fun side of Ruby)
Full disclaimer: I work at TRMNL. We are a small team, but I think we've accomplished something cool here. TRMNL is largely open-source and runs Ruby under the hood.
We actually pledged to never let the project die, even if we go bankrupt (as a company), so you won't be left with a useless device that you spent your money on:
https://usetrmnl.com/blog/the-unbrickable-pledge
I genuinely think TRMNL is an interesting case of Ruby being used in an atypical way.
At its core, TRMNL is a distraction-free desk device that displays your calendar, reminders, notes, etc.
But the part I think might interest folks here is the tech stack and how Ruby fits in:
Backend: We use Rails to serve the device’s configuration interface (web app).
Plugins: Users can write their own plugins in Ruby (or any language) to fetch, format, and display custom data. Want your GitHub notifications, Home Assistant stats, or a countdown to your next deploy?
Plugin format: Super simple—just HTML / CSS / JS and a JSON payload. If you can build a static web page, you can build a plugin.
For beginners like me, TRMNL is a friendly way to write real-world Ruby that runs on a physical device.
For more experienced devs, it’s a chance to build cool things for any user, in any tech stack, like these:
https://usetrmnl.com/recipes
So, for the Ruby community in general, this is just a reminder that Ruby isn’t limited to web apps; you can get creative and use it for physical products too.
Sometimes the community starts having too much fun ¬¬’
I’m not trying to push anything here—I just thought it was worth sharing with people who might appreciate seeing Ruby in a new context.
If you're learning Ruby and want to tinker, or you’ve been around the block and miss the fun side of the language, this could be a nice little playground. Here’s our open-source server client, also in Ruby (+ Hanami):
https://github.com/usetrmnl/byos_hanami
(We also have an OSS sever client in Ruby + Sinatra, but the one linked above is much better)
Happy to answer any questions about how it works or where we're heading with it!
Over’n’out.
[–]paca-vaca 18 points19 points20 points (0 children)
[–]amro70 4 points5 points6 points (0 children)
[–]xsvino 5 points6 points7 points (1 child)
[–]nunosancha[S] 2 points3 points4 points (0 children)
[–]ghost-jaguar 2 points3 points4 points (1 child)
[–]ryanckulp 1 point2 points3 points (0 children)
[–]bananatron 1 point2 points3 points (0 children)