Writing

The missing protocol

Caching and remote execution are welded to whoever runs your CI. We need a narrow waist—a common contract for build caching and remote execution that any provider can implement.

The distributed company

A company stitched together from SaaS tools ends up with a fragmented understanding of itself. Agents make that tax impossible to ignore, and make it worth building the graph of the company yourself.

The borrowed moat

Why renting your cost advantage from the same clouds you compete with leaves you exposed, the difference between a platform and a catalog, and why at Tuist compute is a complement to the cache, not a product.

On tinkering

On tinkering with new ideas, the tension with perfectionism and fear, and building Tuist as a company that keeps pushing the line for what's possible.

Sell compute somehow

A look at the compute market right now, why every CI and runner company is shipping the same terminal-in-the-browser product, and what we are doing instead at Tuist.

Three weeks at the foundation

Three weeks of cutting instead of patching: moving off Render onto our own Kubernetes cluster on Hetzner, rewriting the cache in Rust as Kura, reconciling bare-metal compute, and why infrastructure that agents can read natively turned into a strategy.

The company before the tools

Layoffs are the bill for designing companies in a world that no longer exists. With the cost of building collapsed, small teams can finally design how they want to work first, and shape the tools around that, instead of bending themselves to off-the-shelf opinions.

Caching, productized

Build caching is becoming an everyone problem. Here is how we think about productizing it at Tuist for indie developers and small teams, not just enterprises.

The convenience tax

I keep coming back to the wave of companies that made infrastructure feel easy, and what coding agents are doing to the layer of convenience they were quietly selling.

Atlas

Why we are building Atlas at Tuist, an internal platform designed to help a very small team operate with the leverage of a much larger one.

The single-tenant cache

Why we moved our caching layer from multi-tenant to single-tenant, what that mental model unlocks for latency and operations, and how we're shaping the cache as a leaderless network of nodes that lives close to wherever you happen to be building.

Bazel everywhere?

Coding agents are lowering the cost of adopting powerful but complex tools like Kubernetes and Bazel, but I don't think that means we're heading toward a Bazel-everywhere world. The reasons are not technical, they are ecosystem-shaped.

A different kind of company

On the round-to-round game, the stories companies tell users to mask enshittification, and why I want to build a company that puts craft and people before growth at any cost.

Codex feels like the future of editors

A rainy Sunday trying Codex made me rethink my terminal-first agent workflow, and made me see a big opportunity for tighter integration with tools like mise and Pitchfork.

Agentic productivity

We have the data from builds and test runs. We have the agent primitives in Elixir. Now we are connecting them into something that can actively improve your developer workflows, not just report on them.

The idea exchange

When the only input your company accepts is through paying customers, you limit your ceiling to a small pool of ideas. Open communities create a different kind of exchange, one that compounds in ways money can't measure.

The portability illusion

Cloud development environments keep getting rebranded, but they keep running into the same fundamental problem: your workflow is not portable. Agents might be changing the question entirely.

Scoping dev environments to clones

When your team works with multiple clones of the same repository, global resources like ports and databases start to conflict. Here is how we solved it at Tuist using mise and a simple random suffix.

The tolerance shift

Coding agents are making developers and organizations less tolerant of slow toolchains. That shift in tolerance is opening a door that was surprisingly hard to open before.