Theme

There are many tools, but some of them are truly mine

Herdr Desktop came out recently, and it genuinely impressed me. It kept everything I loved about the Herdr TUI, but opened up far more of it to customization. I happily spent several days making it my own: changing themes, customizing layouts, running experiments, and adding small improvements just to see whether it felt more comfortable to use. All to fit my workflow better.

Over the past year, this is the third time I've caught myself with that feeling. The first product that impressed me this way was Pi.dev, an open-source coding agent by Mario Zechner and Armin Ronacher with broad customization options. The second was Omarchy, DHH's opinionated Arch Linux setup built around the Hyprland tiling window manager. And now Herdr.

They are very different products: a coding agent, a Linux distribution, and a tmux-like terminal multiplexer built for working with agents. What connects them is that they all let me modify them.

Modifiability isn't new. People have been tuning their editors and Linux setups for decades. Neovim is probably the best-known example: it's famous precisely because you can modify it endlessly. But for most of that time it was a hobby for geeks who didn't mind spending evenings on configs. Customization could easily turn into yet another side project.

Most products, though, stayed closed. They might let you add extensions, but not truly reshape them. We used them as they were, and when something broke, the most we could do was send feedback or open a GitHub issue describing the problem or the improvement we wanted, and then wait. Of course, if the project was open source, you could fix it yourself and open a PR, but in the end the team still decided whether to merge it or not.

Agents changed the price. Now, without much effort, you can modify the software you use every day to make it fit you even better. The real question is whether the software lets you.

First WOW: Pi.dev

At first glance, Pi looks like an ordinary agent that does much less than Claude Code. And that's true, but it's a deliberate choice. Pi is built around a minimal core and extensibility.

When a few people maintain an open-source project, chasing feature parity with a product backed by a large team with "unlimited" resources doesn't make sense. Instead, they can focus on the core and let users extend everything else.

The first time I asked Pi to write a simple extension, it turned out to know a lot about itself and how its extensions work. My first one was a grammar-editing extension. I still use it every day.

It was a small thing: a specific need, a simple solution, and lasting value. But it got me. Once I could shape the agent around how I work, it stopped feeling like someone else's tool. It was like building an extra handrail into my own workflow: nobody else needs it, but it helps me every single day. A kind of personal accessibility enhancement.

And it's not only about customization. Because Pi's code is open, I can actually see how it works: what goes into the system prompt, how the harness is put together, why the agent behaves the way it does. That observability lets me tune the harness much more precisely, instead of guessing. It gives me more freedom, and more trust in the tool.

A whole ecosystem has grown around Pi.

I'm genuinely grateful to Mario and Armin for building a tool like this. And watching Pi take top places in token efficiency, speed, and actually getting tasks done is a special kind of pleasure.

Second WOW: Omarchy

I've loved Linux for a long time, but on servers. My DigitalOcean droplets and home Proxmox servers are where I feel at home. For daily work, I use a Mac.

Omarchy made me reconsider. Out of the box, it comes with many choices I happen to like. And when something isn't the way I want it, an agent that understands the system can help me change it. The community has already shared plenty of customizations.

My biggest surprise, though, had nothing to do with customization. I connected my LG UltraFine 5K monitor to a NUC over Thunderbolt. I'd tried this monitor with Windows once: I got a picture, but no brightness control, and the webcam, microphone, and speakers didn't work at all. With Omarchy, I expected to spend some time vibe-coding with an agent to get it running.

I didn't have to. Everything worked right away, as if I'd plugged it into a Mac.

And even if it hadn't worked, I could have added the support myself. With an agent, that's now relatively easy. Hardware no longer has to decide which operating system I use. I don't need to stay on a particular OS just because my devices are only supported there.

I'm not using Omarchy as my everyday operating system yet, but I have a device I turn on from time to time to try the latest updates. Even on a fairly modest NUC, switching between windows feels much faster than on my Mac.

Beyond my own experiments, I follow the community and the news closely. What people achieve keeps impressing me. I've seen enthusiasts install it on digital photo frames, on MacBooks (not only Intel ones, but Apple Silicon too), on iPads, and on old computers that seemed hopelessly outdated because of their weak specs. Thanks to good optimization and customization, those machines got a second life. One person even switched the system theme and watched the new colors spread not only to other apps but to the lights in their room. It's a great example of how quickly the whole system can be customized.

I also believe Omarchy has a big future thanks to AI and coding agents. They make it possible to close gaps quickly and cheaply, build good UI and UX, and, just as importantly, port applications and make them cross-platform.

Third WOW: Herdr

Let me start from a bit further back, with how my web development setup has changed since the beginning of the year.

By early 2026, I was already an active Claude Code user, but I still ran it in a separate terminal window inside WebStorm. WebStorm is a great IDE with plenty of features for comfortable "manual" development. At first it was simple: one project, one WebStorm window, one Claude Code instance. Then the windows multiplied, the Claude Code instances multiplied, and so did the projects. I realized I had to do something, because the visual and cognitive load kept growing, specifically around navigating between projects and windows.

So I started experimenting. My first experiment was TMUX with LazyVim. Switching between projects got easier, and closing the terminal no longer meant losing my Claude Code session. That alone was a big win. But I was missing deeper integration with agents.

Next, I tried containerization: a separate Linux machine with a container per project, to keep each agent isolated. The catch was SSH. Whenever the connection dropped, I had to reconnect by hand. After that came CMUX, which was essentially a better TMUX with vertical tabs.

And then, some time later, Herdr appeared. From the very beginning, its philosophy treated agents as first-class citizens of the app: notifications when an agent finishes, automatic sync with remote machines, and automatic SSH reconnection. All of this changed my setup compared to the start of the year. It became comfortable. I wouldn't call it perfect, but it was finally something worth improving.

That's where the Herdr desktop app enters the stage. The authors basically say: want to improve it? Go ahead. Here are the parts you can change completely. And that's cool. They separated the core from the app, so you can even write your own app on top of the core. In other words, they give us room for imagination and creativity in the most convenient way possible.

So I started making it mine. First, I added CPU and RAM usage for each project. It turned out to be surprisingly useful to see how much a Claude Code or Pi process consumes, or how LazyVim spikes when its code analyzers load. Then I added a panel that syncs through the gh CLI and shows the GitHub issues assigned to me. The rest is styling, so the app is simply more pleasant to look at: border colors and corner radius, and hiding the project icons I didn't need. I'm still experimenting with other features, and if I build something interesting, I'll be happy to share it with the community.

Truly Mine

Here's my hypothesis.

AI lowers the cost of modifying software. More people can then adapt products to themselves. A product shaped this way becomes personal. And a personal tool is hard to replace with an alternative that just has a longer feature list.

I want to be careful about why. It's not about sunk cost, about the evenings I've already spent. It's that the tool now fits my habits better than anything I could get off the shelf. My grammar extension doesn't keep me in Pi because I wrote it. It keeps me there because it does exactly what I need.

The market is flooding with vibe-coded products, and features are getting cheap to copy. What's hard to copy is the part of a tool that a user built for themselves.

I'm increasingly drawn to software whose authors don't try to anticipate all my needs. They build a good foundation and leave room for me to continue it. With agents, that continuation no longer has to become a separate side project.

There are many tools, but some of them are truly mine.

The title of this post is a nod to "My Rifle: The Creed of a United States Marine", written by Major General William H. Rupertus of the US Marine Corps in 1942, during World War II:

This is my rifle. There are many like it, but this one is mine.
My rifle is my best friend. It is my life. I must master it as I must master my life.
Without me, my rifle is useless. Without my rifle, I am useless…

I love and respect people who are masters of their craft. Being a master isn't only about knowing how to do something. It's also about knowing how to use a tool that becomes an extension of yourself. And a tool can only become that if it lets you extend and modify it.