Who am I?
Hi there. If you landed on this site, it’s because you’re curious about Tempo, the app I’m building. But before I tell you about the app, I think it makes sense to tell you a bit about me — who I am, and why I’ve spent time and money building it.
I’m a sysadmin in Unix environments. Mostly Solaris and Linux, but no real limits: any flavor of Unix is fine by me (well, maybe some of them a bit less), and on every one I’ve run into I’ve gotten my hands dirty, with real passion.
I started working in IT around 1997, with a company that built corporate infrastructure on Windows NT. But I’d already discovered Linux, and under the surface the passion was growing. Back then Linux was still more of a fun project than a way to pay the bills — so during the day I was slowly moving from Windows to Unix as a sysadmin, and in the evenings, in my free time, I was having fun recompiling X just to keep it running stable. I kept doing sysadmin work in the same space, and I still do it today, and on the side I’ve played with every Unix I couldn’t touch at work. I had fun with FreeBSD, and with BeOS back when it was promising to become the Unix desktop for multimedia. It was beautiful.
You might ask: what about the Mac? Well, in my world the Mac had always been seen as something really expensive and mostly for designers. Me, on one hand I wasn’t particularly into design, on the other I had a job and a family to take care of, and not a lot of money. The Mac stayed off my radar for years.
A few years back though, when the MacBook Air M1 came out in 2020, I decided the family was settled and I could finally treat myself. I got one. And it was a revelation. It took me a couple of months to get used to the keyboard shortcuts and to learn to use it properly (and I’m not sure I’ve figured it all out even today), but I fell in love. I had the power of Unix sitting underneath the look of a Mac, and the M1 — with just 8 GB of RAM — let me do anything without compromises, and made it the center of all my personal computing.
Today I only use Mac for my own stuff, and I’m really happy about that. I also have an iPhone, a pair of AirPods, an Apple Watch and an iPad — basically the whole ecosystem that just works together without friction. At home I have a NAS, a network built on Ubiquiti gear with VLANs that separate the main network from the IoT network and the guest network, a handful of VMs running services like Plex, Jellyfin, Calibre, and other really neat, fun stuff. In my dreams there’s a piece of infrastructure that still has to grow: a dedicated Proxmox box as soon as the right server lands at home, and that whole beautiful galaxy of tools ending in -arr — Sonarr, Radarr, Prowlarr, Bazarr — that I really like the look of and will set up properly sooner or later. I’ve been working from home for years, I’m a very organized person, and my home office leans on all kinds of hardware (all self-hosted) and on a few pieces of software that help me a ton: DEVONthink and Obsidian, together with calendars and reminders, keep everything that crosses my desk in order. And Home Assistant for the home automation, of course. And then there are all the custom scripts, written by me, running on my trusty servers and doing a whole bunch of things.
There was only one thing missing before I’d call myself satisfied: not having to keep ten browser tabs open to check every dashboard, not having to dig through the logs of my scripts to figure out if something went sideways. The control was there, but it wasn’t easy.
That’s why I decided to build Tempo. So I can spend more time on my hobbies and less on checking that things are running. If I automate everything, it’s because I want everything to run on its own and in an integrated way — but if I then have to spend hours making sure it’s all actually working without a hitch, the automation stops being useful.
Tempo is my single command center, the place that lets me see events and act on them. I didn’t want just another automation tool; I wanted something that would collect everything, show me what’s going on, and give me buttons to act when I need to. Every incoming event lands on the timeline, and for each event I can wire up buttons that run the actions I need: open a dashboard, launch a script, copy a value, whatever fits. I write those buttons myself — by hand or through the Builder — and then I click them, when I decide the moment is right. No reactions firing on their own, no silent automation running behind my back: it’s always my click that makes things happen. Full automation — actions firing on their own in response to events — is something that might show up in future versions, but for now I’ve chosen to keep everything behind a button: it’s the path that keeps things safe even for people who aren’t particularly technical, because nothing happens unless you decide it should. The tool that walks you through building those buttons is the Builder, designed to make the process straightforward even for people who don’t write code. And to help you get moving faster, we’ll ship Tempo Recipes — ready-made buttons you can download and use as-is, or open in the Builder and tweak to fit your own setup.
More broadly, Tempo is built to be safe on two fronts. Outward, because it handles carefully everything that comes in over the network: access tokens are kept separate for each source, the exposed surface is kept minimal, and no incoming payload can ever force Tempo to do anything beyond what you’ve authorized. And inward, because no potentially sensitive action can fire without a deliberate click from you. It’s a philosophy that fits people with all kinds of backgrounds: someone who’s been tinkering for twenty years can write buttons with custom scripts and more advanced setups; someone who just got into self-hosting lands in an environment where they can’t hurt themselves by accident. Tempo grows with you.
A few examples, from my own setup. If I get a notification from my Ubiquiti gateway that a device needs an update, I can open the dashboard straight from a button inside Tempo. If a custom script fails, I can open the log both in the terminal and in TextEdit with one click. If I want to check my Kopia backups, button, dashboard, done. And I can build myself buttons to pick the best response to an event: a server not answering? I can ping it, or open a terminal with another script that runs further actions. In short, Tempo is a tool whose only limit is the imagination of whoever’s using it.
There’s something I want to be upfront about, because I don’t like leaving things unsaid: Tempo was built with the help of AI. I’m not a professional developer. I get the concepts, I’ve been writing procedural scripts for years, but I had never built an application in a compiled language — even though I’ve spent my entire working life surrounded by developers and sysadmins, and I’ve seen a lot of architecture go by.
But the AI is not the architect. It’s a tool that writes code and needs to be guided. My twenty-five years of work as a sysadmin and integrator — understanding what a system has to do, what it must not do, where it breaks, where it’s exposed to security risks, how it makes it into production — are the foundation AI built Tempo on top of. And the security side, in particular, is entirely mine: which surfaces Tempo exposes on the network, how it protects access tokens, where the user’s data ends up, what an incoming payload can never force Tempo to do. These decisions I haven’t delegated, and I won’t. AI is a great tool for someone who knows what they’re building. It’s a wrecking ball in the hands of someone who doesn’t. I know what I’m building.
Oh, I almost forgot the name. “Tempo” brings to mind rhythm, the pulse of a piece of music. It’s the music of my tech passion: the rhythm of all these tools talking to each other, of the little blinking lights, of the outputs, of the result I manage to put together and that makes me happy. And it’s also a promise: your time — the time you get back when your homelab works alongside you instead of asking for your attention all day long.
— Leo di Caereforge