My (Agentic) (Analytics) Engineering Setup: September 2026

Timo Dechau
• • 11 min read
My (Agentic) (Analytics) Engineering Setup: September 2026

I am trying to make this a series, maybe every 3-4 months. We are in interesting times, where it feels to me like everyone is cutting their own path for how to do stuff. And I enjoy reading about it. Simon has really good posts about his setup, and I had interesting talks about it (wait, I think it was just one, so it is a good time to chat again).

So here is my current setup. As said, it is highly individual and opinionated.

The devices

Let’s call them my main work and play-around interfaces. I have two main ones:

  • MacBook Pro M4 Pro
  • Custom PC tower build with CachyOS Linux

Why two? It’s best to explain when I describe my Linux setup.

Custom PC tower build with CachyOS Linux

I was always intrigued by Linux. It felt like this pro-mode computing where all power is at your fingertips, hacking away on the console. But it came with three things I lack: patience, determination to figure stuff out (even when it is not that important to me), and quite some time to spend on it. I had an early SUSE setup years ago, but I spent more time figuring stuff out than enjoying the setup. And that was not fun for me. So I put Linux aside as a working OS.

Of course, I came back into the server environment, but I was happy to use services that add layers on top of it.

The more I got into agentic workflows from mid-2025 onward, the more stuff was happening in the terminal (early Claude Code times). So I spent quite some time configuring Ghostty, Warp, and other terminal applications to fit my specific workflow ideas. Claude Code also let me change the system setup. But this got me into macOS limitations quite quickly.

At the time, I was talking to Simon, and he showed me his Omarchy setup and was really happy about it. So I got an old ThinkPad and gave it a try. And I liked it; it got me closer. But this is how rabbit holes go. I also started following Wayland and Hyprland subs on Reddit, and that is where I discovered Niri. It was love at first sight. At that time, it was not possible to run it on Omarchy (I think it might be now). So I went for CachyOS and Niri.

The CachyOS website describing its performance-first Arch Linux distribution

The Niri GitHub repository showing its scrollable-tiling Wayland desktop

The ThinkPad had reasonable memory but not much, and I liked the idea of running some local LLMs (which I haven’t really done so far). So I configured and built a PC (this was true fun since I did it a lot when I was 14-16, and it turns out it is like riding a bicycle).

It stands in my office and is on my Tailscale network.

Tailscale is another company I assume profits a lot from agentic setups. It’s really easy to hook up multiple machines in one virtual isolated network and SSH into any of them just with the Magic DNS.

And this machine is solely for development. Mostly analytics engineering projects, some data pipelines, some frontend apps, and now even a game.

Niri makes it so beautiful that you can move horizontally between different windows (mostly terminals). Or move between different workspaces.

And coding agents make it easy to change CachyOS to what I like (not so much; I am still not a hardcore configurator), and having your background image pool change when you change workspaces still feels great.

And it just runs. So I can kick off development sessions now that can run autonomously for 4-5h, and I have no need to do weird stuff like walking around with a half-open MacBook.

One of the things I did in the last four weeks was move more work to this machine: Slack, email, writing, and YouTube. So it is now my working machine 90% of the day.

MacBook Pro

So why do I even have a MacBook now? For some use cases. First of all, it’s better for bringing to places than a desktop tower. And I still do my video calls on it and video editing. And that is easier on a MacBook (we get back to this in a bit).

This makes my MacBook setup quite simple. Almost no development work setup left. Mostly communication and content writing, with some video editing. But I have a Ghostty terminal where I can SSH into the Linux machine.

And it is my traveling device. And I still like the look and feel of macOS.

Dell 49-inch ultrawide display

My latest addition. Some weeks ago, I was using two separate displays for the two machines. That also meant two sets of keyboard and mouse. It was okay, not a big productivity blocker. But with Niri, more horizontal space is better. So I was looking for a wider display and then came across the 49-inch category. Claude casually mentioned the KVM in the Dell model. That brought back a memory: wait, I can use one keyboard, mouse, and display setup for two machines.

And so far, I can tell it’s much nicer than the other two.

I have a keybinding set up on both machines so I can switch between them with the same hotkey. And if you ask how I copy and paste between both: I still have an SSH- and Tailscale-based shell command that does the job, but I need to check how I can do this with KVM. Since I have now moved almost everything to the Linux machine, copying and pasting has become a tiny issue.

The engineering work

Let’s categorize my work. For a long time, my main work was usually building data models. Almost all the time, using dbt Core. Sometimes I create dlt pipelines for some arbitrary data sources.

One thing I have focused on a lot over the past year is agentic analytics engineering. In summer 2025, I set myself the goal of not touching SQL or Python anymore, and forcing myself to get the model to produce what I would have written by hand before. That was, and still is, quite the journey. It took quite a while. But nowadays I write 2% SQL myself. I review, usually not line by line, and I design.

And since starting Propel, the work has shifted in some areas.

We started to develop applications. We began doing this for internal use cases, and now we offer it to clients as well. So I have an agentic setup for React apps too.

And there is a box for experimentation. Automations, some agent experiments, some data infra experiments.

And of course, there is still content work, like this blog post.

Okay, let’s cover agentic analytics engineering in more detail.

In summer 2025, I joined the first Claude Code wave. Then I spent the next six months experimenting with all the different methods flooding YouTube now: subagents with different profiles (they didn’t work out, but they are coming back right now as swarms) and loops (quite similar to Ralph, but I didn’t know about it, so I took a more conservative approach). By the start of 2026, I had settled on an isolated, long-running process (I call them missions) that would be an L or XL in ticket T-shirt sizes. It breaks the work down into epics and tasks, then loops through them with an evaluator at the epic level. I don’t use subagents or parallel execution here because, in my tests, they didn’t improve the results and added token usage and complexity.

Julien pointed me to Pi quite early, and for a while I just watched it (literally on YouTube). But when Claude had another outage, I tested Pi with GPT-5.5 since Anthropic likes to throw sticks when you want to use its subscription with Pi. And the first thing that was great: I pointed Pi to my existing Claude Code flow and asked it to rebuild it for Pi and maybe optimize it as it went. And it did. I ran some development tests, and it was about 50% faster with the same quality. It turns out that when you have a very strict harness within the harness, you can swap models more easily.

The Pi website describing its minimal, adaptable agent harness

Explore the Pi agent harness

Since then, I have stayed on Pi because I could fine-tune it to work the way I wanted, including the visual experience.

My latest addition to the setup was Herdr. I saw it for a while on YouTube and X, but I didn’t see the immediate pull to use it. Since I am using Niri, different agent sessions are visible and easy to access on my big display. But after some videos, I decided to give it a test. And it has one big advantage: session state (yes, I know you can also tmux your way around that). Now, I can access the same sessions from any device that can SSH into my Linux machine via Tailscale. The more time I spend with it, the more I like how I can organize my work. I want to spend some more time fine-tuning the setup.

The Herdr website describing its runtime for persistent coding-agent sessions

Explore the Herdr agent runtime

I did some tests with other open-weight models, but they eat up too much time. But I will come back to it when I have a bit more time.

Since I don’t write SQL now, most of my work is building the layer on top of SQL models that ensures the same model quality, especially as we scale up use cases. That is quite some fun.

Data models are still written in SQL and orchestrated by dbt. I experimented with my own “compiler” orchestrator using Pydantic models as the core, but it turned out to be too much overhead for too few benefits. I am currently on a client project working with Bauplan, and I love the direction they are going.

I am not happy with orchestration, though. In my current work, I need orchestration. Ideally, I want agnostic orchestration that can handle data use cases as well as other non-data flows. I had a small Dagster instance self-hosted on Hetzner that worked well. But Dagster and I are no true friends (not for strong reasons, just product vibe). Managed, I don’t want to pay (I know, I know). I want to test Prefect next, since it seems more lightweight at least for my use cases (and Prefect acquired Dagster Labs) - (if nothing works out, I go back to Jenkins).

What I like for our application backend is Convex. The schema lives in the codebase; it has real-time updates and simple auth.

The Convex website describing its reactive backend platform for developers and AI agents

Explore the Convex backend platform

Right now, we host everything on Cloudflare, since I have the most experience with it and it just works. I experimented with Coolify and Hetzner, which worked as well, but they added more overhead for me to manage.

If I need to pick an analytical database, I take BigQuery - our setups are not heavy on volume. So BigQuery is the no-brainer setup. We use a self-hosted ClickHouse instance as a caching layer for our web app (on Hetzner). It’s just a mirror that gets populated once an hour. I did test managed ClickHouse and liked it, but for our use cases, it is too expensive.

We’ve done two implementations with Nao so far, and I like their framework and how you can extend it. We are starting a more extended setup project with it, and I am happy to push it further. In a different project, we will use the Bauplan MCP, so I am also very interested to see how this one works.

Our application development uses the same flows in Pi and Herdr like the data ones. The main difference is the contracts and principles we feed into the models for it.

The room for improvements and future tests

One part that I want to push further is automation. The more we create, the more things run every day and collect issues along the way. We need to fix these continuously. Right now, I am testing an idea: a Herdr automation script that runs every hour, checks for open issues, routes them to the right project, and kicks off subagents to run fixes. Of course, this needs to be solid, so the setup takes a bit longer.

The main work right now is to handle Propel scale. We are starting to onboard more clients and work with them longer. I can manage 2-3 of these setups but not more. So we are starting to onboard the first contractors to support our growth.

This means hardening the setup that works pretty well for me now but needs to be more consolidated for new people to get started with it. For this, I am experimenting with creating a custom harness on top of Pi that is fine-tuned for the way we work.

It also means doing some serious architecture and refactoring work. Fun stuff, actually.

One thing I would love to do at some point is fine-tune a model for marketing analytics so we could run it locally.

This is my setup in September 2026. See you in 3-4 months.

Join the newsletter

Get bi-weekly insights on analytics, event data, and metric frameworks.