Vibe Coding kohlhofer.com: Creation at the Speed of Thought

Posted 3 months ago in Design · Code · Artificial Intelligence · Projects

Edit (May 2025): Since writing this, “vibe coding” has become a mainstay term. I still think it’s a terrible name—but the approach and speed it describes are here to stay.

I built the new version kohlhofer.com in just a few days, and the process felt less like a solo project and more like collaborating with a high-performing team—only much faster. Some people call this “vibe coding”—letting intuition, rapid iteration, and AI support drive the entire creation process. I don’t love the term (it’s not mine), but it does capture the spirit of how quickly and fluidly things came together.

Did I code it? Defenitely not.

Did I design it? Absolutely. But not in the traditional sense. I directed the design much like you would when working with a great team of designers: setting the vision, making key decisions, and letting the details emerge through fast feedback and iteration. With AI as my creative partner, the boundaries between design, content, and implementation blurred. It was all happening at once.

Rethinking engineering principles?

Coding principles like DRY (Don’t Repeat Yourself) matter less because the AI is perfectly happy to update navigation elements or content in multiple places. And with the site hosted on GitHub Pages, deployment and updates are effortless. The friction of manual updates is gone, so you can focus on what matters—clarity and experience. It’s a simple, robust solution for a personal site that’s always evolving.

Iteration Over Implementation

The maps page on kohlhofer.com is a great example of this new workflow. It’s built with D3, and the core implementation didn’t take long at all. What surprised me was how much of my time was spent not on the technical side, but on iterating through the presentation and design details—colors, layout, interactivity, and how the data should feel. With AI and modern tools, I could focus entirely on the result and the user experience, rather than wrestling with the underlying code.

The bits page is another testament to this new way of working. I took some of my older CodePen explorations—like the City generator and Lorenz visualizations—and quickly ported them over to the site. I barely touched any code myself. AI created the scaffolding, and I simply talked through the integration, describing what I wanted and how things should fit together. The process was fast, fluid, and let me focus on the creative and conceptual side rather than the technical plumbing.

Lorenz Bit

Lessons Learned: Letting Go and Trusting the Process

My experience as a manager and team leader has taught me that the best results come when you let go of control and trust the people (and now, the tools) you work with. Excellence rarely comes from micromanagement or rigid prescriptions—it comes from creating space for others to contribute, experiment, and surprise you.

I’ve found the same principle applies when working with AI. The less prescriptive I am, the more surprising—and often delightful—the results. I enjoy being surprised at work and in life, and this new way of building things rekindled that sense of discovery.

I’ll do a lot more of this.

More posts

About this Site

I asked AI to tell me what Not So Common Thoughts is all about.