Inspiration

This project was inspired by terminal.shop by ThePrimeagen — a site where you buy things entirely from your terminal. I loved how something so technically simple could feel so novel just by existing in a place it didn’t belong. I figured: if you can buy merch from a terminal, why not check the UMass dining menu from one too?

Plus, there’s something beautifully ridiculous about using SSH — a protocol made for secure remote access — to figure out what’s for lunch.

What I Built

umenu.tech is a fully functional SSH application. Type: ssh umenu.tech

…and you’re instantly dropped into a live CLI that shows what’s being served at each UMass dining hall. No passwords. No setup. Just vibes and menus over the wire.

Under the hood:

Go (gliderlabs/ssh) powers the custom SSH server. Python handles scraping and formatting the daily menus. systemd + virtualenv keep it running smoothly on a tiny VPS. Everything lives behind a simple domain — so “SSH as a service” actually works out of the box.

Challenges: The biggest pain was making it zero-setup. SSH keys, permissions, ports, and systemd all wanted to fight me at once. Every time I thought I’d fixed one, another would break — usually silently, of course. Getting “ssh umenu.tech” to Just Work™ took way more low-level debugging than I’d like to admit.

Other fun challenges: Convincing Go and Python to play nice. Letting multiple users connect simultaneously without the server catching on fire. Making it look simple when it really wasn’t.

What I Learned How deep the SSH rabbit hole goes — keys, daemons, host verification, and all. That UX can exist without graphics — sometimes, the cleanest experience is just text on a black screen. And that humor goes a long way in tech: building something playful can teach you more than another “serious” CRUD app ever will.

Built With

Share this project:

Updates