Is Tempo vibecoded?

· philosophy

📅 June 22, 2026 · Leo from Caereforge

Before getting into the question, I want to define what “to vibecode” actually means.

Karpathy coined the term in a more neutral light (give in to the vibes, embrace exponentials), but in practice it’s drifted somewhere else. Today it usually points to an app whose architecture, design, and code were produced end-to-end by an AI. Someone with an LLM subscription hands the AI an idea, and the AI does the work. These apps tend to be simple. They lean on what the operating system already provides and stack a thin programmed layer on top to do some task. There’s no real control over the architecture, none over the code. Security (network side and system side) is left to the AI, with no competent audit to confirm that the security level is even reasonable.

Moreover, Tempo was originally built for myself as a way to gather information into a single interface, so I could check Tempo rather than browse a dozen dashboards. I also wanted a place to collect the status of my scripts… and I have many, doing all sorts of tasks. But that’s part of my daily job, and I’m genuinely lucky that my work matches some of my passions, like my homelab. Only later did it become a possibility: the wish to share something useful with people who, like me, can appreciate certain kinds of tools.

With that out of the way: is Tempo vibecoded?

I’d say no.

I understand code, I understand functions, I know the syntax of compiled languages, and I can write simple code in Swift, but I’ve never been a programmer by trade. I write shell scripts for work every day, mostly bash, some Python. I know the logic that sits behind functions. But writing a whole macOS application in Swift, with no experience building complex, structured applications, and expecting it to work the way you want: that’s a completely different task. That’s why Claude has been such a good partner: it gave reliability and substance to ideas of mine that would otherwise have stayed in pure-thought territory.

Tempo’s author and architect is me. Design, architecture, and testing are mine; implementation is AI-assisted with Claude Code. The way it works: structured prompts that carry the architectural intent into each session, functional testing on every release before it goes out, and code reviews to go deep into how Tempo works. I’ve been running Tempo on my own homelab for months (Home Assistant, UniFi, Kopia, Beszel, and an *arr stack), and the pre-release polish I’m writing this from is the result of that loop.

A few concrete examples of what that means in practice:

On top of that, I use an instruction file called Philosophy.md that guides every decision I make and every iteration Claude does on the whole app. This non-technical file states clearly my idea of what software should be: safe (as much as possible), transparent in what it does, reliable (even though I can’t test every environment, we’ll fix any issue together), secure, and private (your data is only yours; I don’t want and don’t need to deal with it).

Tempo is a piece of me I’m putting out there because I think it has value, and I think it’s useful.

More than that: this chance to create something, as opposed to my day job, where I administer and manage but I don’t make, has touched something deep. It gave me the freedom to be what I am: someone passionate, spending his own time on something he loves, for an environment he loves.

So, in that light: no, I don’t think Tempo is vibecoded. I probably could have written it on my own, but at the cost of months, if not years, of work and study. AI is a great tool for someone who knows what they’re building… and I know what I wanted to achieve, and how.


Leo from Caereforge