← My writing

I need to move to think

I discovered my most important cognitive tool in a dance studio, not in front of a computer.

It was an informal workshop, the kind where you leave your ego at the door. The instructor gave us a prompt: "How would you move if you were immersed in a very dense fluid like oil?" There was no right answer, only exploration. For the first time, I wasn't trying to execute a specific step or impress anyone. I was just moving, translating a physical sensation into action. And in that process, my mind became incredibly, unbelievably clear.

It blew my head away. I've never been particularly articulate with words, but here, with my body, I could express complex ideas. A switch flipped. I realised something fundamental about myself: I need to move to think.

This is why I pace like a caged animal during phone calls or sending voice notes to my friends. It’s why my best ideas don’t come when I’m staring at a screen, but when I’m walking, climbing, or dancing. The more complex the thought, the more I need to move. The more I move, the clearer the thought becomes.

This drive for clarity—for that immersive state of flow—is the unifying principle behind everything I care about. It’s in the short, intense bursts of presence you find on a rock wall, where nothing exists but the next hold. And it’s in those glorious, non-stop coding days, where you can lose yourself for hours solving a single, compelling problem.

It’s also why I get so fired up about the state of our industry.

Because so much of what we do seems purpose-built to destroy that flow. We’re drowning in complexity. We worship shiny new frameworks sold to us by vendors who then lock us into their expensive hosting. We spend months learning abstractions that will be irrelevant next year, instead of truly understanding first principles and mastering the fundamentals—like how good old SQL databases work—that will last a career.

We build abstractions on top of abstractions, wrappers on top of gems and packages, until we’re multiple layers deep in our own bullshit. I've seen teams spend weeks building an internal wrapper for the Stripe API. Why? Out of pride? An attempt to look smart? As web devs, let’s just call ourselves what we are: CRUD monkeys. Nothing wrong with that. We take data from one place and put it in another. We read and write records to a database. We should embrace this reality, not hide from it.

So that’s what this blog is for. I’m going to write about the things I can’t stop thinking about. How to use AI without outsourcing your judgement. How well-intentioned rules can have catastrophic results. Why so many companies end up with bloated products. And sometimes, I’ll write simply because something caught my attention and I want to think it through.

What this blog won't be is another list of "10 ways to be more productive" or a breathless post about the latest JavaScript framework you absolutely have to try. I won’t commit to a posting schedule. I’ll write when I have something to say.

Which brings me to the final point. The real reason I'm doing this.

I suck at writing.

It’s frustrating as hell. The ideas in my head have force and passion, but they lose all their power on the way to the page. I'm an engineer. I value precision. And my writing doesn't meet my own standards.

So this is a public experiment. A training ground. I'm using AI as a partner—a sparring partner, not a ghostwriter—to help me improve. This blog is my act of accountability. It’s a memoir, a way to record my experiences and track how my opinions evolve.

Even if nobody reads it, I’m doing this for me. To prove to myself that I can put in the time and effort to get better.

Let's see if it works.