Randy Lutcavich Randy Lutcavich

Vibe Coding + Software Engineering: A Partnership, Not a Competition

I'm hoping we can move past the "true vibe coding means you don't care about the code" debates.

I find two things to be true:

  1. The capabilities of full vibe coding are growing

  2. Building with AI still requires good software engineering

I'm hoping we can move past the "true vibe coding means you don't care about the code" debates.

I find two things to be true:

  1. The capabilities of full vibe coding are growing

  2. Building with AI still requires good software engineering

Claude Leveled Up

Using Claude Code and the new Opus 4 model, I was able to create a full stack app bootstrap with just prompts. Which I suspect can be productionized with a bit more work (AI-assisted or not).

I couldn't do this with previous models.

I tried, but Claude stumbled implementing the app with the particular stack of libraries that I picked out for the project.

Several times I wiped the repo and started fresh using different techniques.

Each time I started with different versions of the generated project plan.

At one point I was using multiple agents (e.g. frontend expert, backend expert, conductor).

I’ve tried techniques where I direct Claude to take things one step at a time using custom commands (e.g. review the current implementation so far, plan out the implementation of the next story, review and provide feedback to the backend expert).

Ultimately, each implementation hit a wall and just never quite got to a functioning bootstrap using this complex stack.

With Opus 4, Claude was able to fully deliver on the task.

  1. Generated the project plan - Result of a simple prompt:

    Think very deeply and research as needed to come up with a plan to build an entire full stack, monolithic, hello world, web app using this stack:
    - React TypeScript frontend with Vite
    - FastAPI Python backend
    - Better Auth authentication service (
    https://www.better-auth.com/docs/introduction)
    - Docker Compose for local development
    - Ready for deployment to Azure
    - PostgreSQL database and Redis cache - Shadcn for the UI components (
    https://ui.shadcn.com/)
    We want absolutely minimal features so that this project can act as a bootstrap for any app in the future:

    - Signup and login
- Persist some basic user data
    - Persist some basic global data that any logged-in user can mutate (for example a counter that anyone can click to count up)

  2. Generated the project - The result of a session that was literally 1% away from compacting.

  3. “No, really, there is a library called Better Auth” - This was the trickiest part for past attempts, but Opus 4 mostly got the idea after this one session.

  4. Implement the remainder of real auth - And now we have the full stack running as expected (locally) with this session.

Are Vibes All We Need?

The bootstrap experiment basically shows that Claude can generate functioning software, but with some caveats.

Firstly, my mother couldn’t do what I did. Heck, my younger brother couldn’t even boot up Claude Code if I told him vibes was all he needed to build apps now. So there is some barrier to entry when it comes to knowing what to build and how, even if we aren’t writing the code directly.

Secondly, its not production ready. That’s not to say I couldn’t get it ready, but that will take some more engineering.

And lastly, there’s no reason I (or you, or any other software engineer) couldn’t write and edit the code alongside Claude (or whatever Genie you choose). You can go as slow or as fast as you’re comfortable with. You can break things down to the tiniest of steps or yolo it with big sweeping changes that you then shape to your liking.

What I’m saying is, there’s no need to fear vibing AND there’s plenty of engineering to be done.

Still Foggy

Take my take with a pinch of salt. Everything is changing rapidly and no one can say for sure where we’ll end up once the fog clears. My gut tells me to keep an open mind and not to stick to dogmatic “truths” of the past when it comes to software engineering best practices. While it also is telling me that what got me here is going to help me even if the exact practices change.

Read More
Randy Lutcavich Randy Lutcavich

The Fog of Now: Living Through the AI Revolution

Growing up near Seattle, I used to think I missed the big waves. The personal computer boom. Microsoft exploding. The dot-com frenzy. I got into computers just after all that, on a brand-new HP running Windows ME, right when Napster was taking off. Just enough to feel the magic, but not early enough to ride the first wave.
But now, with Gen AI, vibe coding, and agent workflows taking off, I’m realizing something. This is our wave. This is our moment. We’re right in the thick of it, even if we can’t see where it’s all going.

Growing up near Seattle, I used to think I missed the big waves. The personal computer boom. Microsoft exploding. The dot-com frenzy. I got into computers just after all that, on a brand-new HP running Windows ME, right when Napster was taking off. Just enough to feel the magic, but not early enough to ride the first wave.


But now, with Gen AI, vibe coding, and agent workflows taking off, I’m realizing something. This is our wave. This is our moment. We’re right in the thick of it 😶‍🌫️, even if we can’t see where it’s all going.

The funny thing is, no matter what future actually plays out, it's going to feel obvious in hindsight. If things go great, people will say they saw it coming. If it all burns down, same story. The signs were there. We warned you.

Right now, we’re flooded with predictions. Total job loss. The end of creativity. AI paperclipping the planet. But also a boom in productivity. A new kind of economy. Better tools. Safer systems. All of these futures are on the table.

What’s likely is that we land somewhere in between. Artists, writers, and developers are already feeling the shift. Their work is being reshaped. Some jobs will disappear. Others will evolve. And entirely new ones will emerge. Think less “mass unemployment” and more “reorg of human output.”

In programming, I think we’re going to see something interesting. Agents might write more of the code, but they’ll still need us to guide them. The skill isn’t going away. It’s just going to look different. More critical thinking. More product alignment. Less keyboard grinding. And maybe the same shift happens in product management too. Those roles start to blur.

And when that happens, people will look back and say, “Of course. That was always going to happen.” Same way they talk about the internet, or the smartphone, or any tech shift that rewrote the rules while everyone was busy arguing about it.

So yeah, the fog is real. But I want to be in it. I want to help shape what’s next, not just watch it unfold.

Because when the fog lifts, I don’t want to say “I knew it.” I want to say “I was there.”

Read More
Gen AI Randy Lutcavich Gen AI Randy Lutcavich

Exploring Curiosities with ChatGPT: The Judgment-Free Path to Understanding

“340 million million million million million million million millions”

This final break down helped me truly visualize the extremely low odds of generating a duplicate.

Judgment Free

One of my favorite uses for ChatGPT is leveraging it as a judgment-free tool to fill in gaps in my understanding, especially about topics I feel I should know already. There’s something uniquely comforting about asking questions without fear of embarrassment.

UUID Mystery

So, the enigma of UUIDs and the apparent non-issue of duplicates always bugged me. I assumed the uniqueness stemmed from a combination of the precise moment of creation and some hardware-specific detail. However, I learned that while this was true for version one UUIDs, version four relies on randomness. How, then, does this method avoid producing duplicates?

In theory, duplicates are indeed possible with v4 UUIDs, but the sheer volume of unique possibilities makes this incredibly unlikely. This concept initially seemed counterintuitive. Why risk any chance of duplication? Yet, in scenarios demanding less than absolute certainty, the statistical improbability of such an event becomes clear and acceptable.

ChatGPT to the Rescue

ChatGPT helped break this down into a more digestible explanation: the realm of UUIDs encompasses 340 undecillion possible combinations. That’s 340 followed by 36 zeros—an almost unfathomable number, illustrating the vastness of the UUID space. To me that was still too many zeros to truly understand. That’s when I had ChatGPT break it down even further:

340 undecillion in the American system, or to put it in a more descriptive way:

340 million million million million million million million millions

This final break down helped me truly visualize the extremely low odds of generating a duplicate.

My Ending

I love using Gen AI this way. Its ability to simplify complex information and address my questions without judgment really allows me to comfortably explore and understand random things like this.

I wasn’t quite sure the best way to end this so I ask ChatGPT to wrap it up on an exciting note, but without too much cheesiness. I think it failed, but it’s also too good not to share 😂

ChatGPT’s Ending

Embracing Endless Possibilities

This journey into the depths of seemingly mundane topics, like the intricacies of UUIDs, underscores a profound realization: the pursuit of knowledge, no matter how esoteric, can be both exhilarating and profoundly rewarding. With tools like ChatGPT, we stand on the brink of a new frontier in learning, where questions are met with patience, curiosity is nurtured, and every answer leads to deeper understanding and more questions.

It’s not just about UUIDs or the technicalities that fascinate us in the moment; it’s about embracing a mindset where no question is too small, and no curiosity is unworthy of exploration. This approach to learning—unhindered by the fear of judgment and empowered by the vastness of accessible knowledge—opens up a universe of possibilities.

As we continue to navigate this ever-expanding digital cosmos, let us carry forward the excitement of discovery, the thrill of understanding, and the joy of connecting seemingly disparate dots. May we always remain curious, for it is in our questions that we find not just answers, but the pathways to endless learning and growth.

Read More