
I recently joined Darko Mesaroš, Principal Developer Advocate at AWS, and my colleague Rachel Stephens on the Kiro livestream to talk about vibe coding, spec-driven development, and the evolving landscape of AI-assisted software development. Darko invited me to demo something I’d made, and I was happy to show off the shiny new landing page I built for RedMonk’s podcast: The MonkCast. Full disclosure, this livestream was a paid engagement, but I was grateful for the opportunity to walk through and reflect on what the project taught me about working with Agentic IDEs like Kiro.
Why Build a Standalone Site?
As I wrote in my recent post, “The MonkCast: Why We Revamped RedMonk’s Podcast (And What We’re Building),” the MonkCast has been growing steadily across YouTube, Apple Podcasts, and Spotify. That growth warranted building a home for the show outside the video section of RedMonk’s website. Most podcast hosting services give you a generic, forgettable microsite, but I wanted something with personality. A place where visitors could browse recent episodes, meet the analysts, subscribe to the newsletter, and get a sense of what we do here at RedMonk. I wanted it to look good. And honestly, I wanted an excuse to vibe code something fun.
But just because it was a fun project doesn’t mean I didn’t bring some rigor to my self-imposed assignment. MonkCast.com is an Astro app, and this was a deliberate choice. I knew I wanted a lightweight static site framework, and I specified Astro when I started the project. To my way of thinking, small but critical decisions separate productive vibe coding from aimless prompting. I researched framework options and chose Astro deliberately as best fitted to my needs. If I just told Kiro “I want a website,” I would have likely gotten something too generic. Knowing what stack I wanted, even at a high level, gave the model a much better foundation to work from.
What I Mean by “Vibe Coding”
On the stream I offered my working definition of vibe coding as prompt-based development where the developer doesn’t review the LLM-generated code line by line, and—crucially—it’s fun. That third element matters more than people think. If you trace the term back to Andrej Karpathy’s original tweet, he talks about being lazy, being amused, and building throwaway weekend projects. The spirit of play is doing real work in that definition.
As a self-identifying “vibe analyst” (tongue firmly in cheek), I fully embrace the cringe of the vibing moniker. Vibing plays a big part in my day-to-day work, life, and hobbies. I build things for my six-year-old (a vocabulary app that he, predictably, refuses to use). I build things like monkcast.com and “The Generative AI Policy Landscape in Open Source” for RedMonk. I recently rearchitected and relaunched my digital humanities project, visualhaggard.org. And through all of it, the common thread is that I’m bringing ideas, judgment, and vibes to the table while the model handles the implementation grunt work by way of tools like Claude Code, OpenAI’s Codex, AWS Kiro, GitHub Copilot, Google Antigravity, and IBM Bob, among others.
“Taste” is the thing folks keep harping on these days because LLMs don’t have it; people do. While the term isn’t perfect, and I stand in good company among those looking to welcome an alternative, what strikes me as uncontroversial is the notion that successful vibe coders must keep their own ideas and judgment front and center to their projects.
The MonkCast Build: Iteration, Not Magic
I want to be honest about the process, because I think the “one-shot” narrative around vibe coding is misleading. I started working on monkcast.com last summer, and at that point the models simply weren’t good enough to get me where I needed to go. There were many, many versions that didn’t work. What I invested heavily in during those early iterations was the design: UI components, layout decisions, the visual identity of the site. When the models caught up, I had a clear picture of what I wanted, and that made all the difference.
One of the more interesting technical challenges involved the RSS feed. I wanted episode images on the landing page, but they weren’t directly linked through the RSS feed. The solution required the agent to help me write logic that uses the “show notes” link to RedMonk’s website, which appears in every episode description, then scrapes the blog post on the RedMonk site, and pulls the correct image. I also wired up GitHub Actions and Netlify build hooks so the site periodically checks for new episodes to rebuild the feed. Six months ago, I’m not sure I could have gotten that pipeline working through prompting alone. Now? We’re back to having fun.

Vibe Coding Accessibility
One of the things I demoed on the stream was an accessibility audit. At RedMonk we take accessibility seriously, and in my former life as a front-end engineer, making sites accord with Web Content Accessibility Guidelines (WCAG) was a core part of the job. I know enough to be dangerous, but I don’t do it on a daily basis anymore, so I had Kiro’s agent run a full audit of the site, categorize issues by criticality, and then fix them.
The result was that I could tab through the entire site the way it should work, with proper focus states, semantic HTML, and screen reader compatibility. This is the kind of work that used to be tedious and easy to defer or skip entirely. Today, it’s something I can do in an afternoon and verify by cross-checking across multiple models.
What I Learned
Self-reliance? Perspective? Gratitude to our AI overlords? Don’t F***k with the vibe coder? Nah, but here are a few takeaways from my experience creating the monkcast.com website that connect to the broader conversation I had with Rachel and Darko on the stream:
The barrier now is judgment, not code. If you know what you want and you can articulate it, the tools will get you remarkably far. The MonkCast site looks the way it does because I spent time on design research—looking at interesting footers, exploring animation possibilities, collecting inspiration. The agent didn’t do that for me. I brought that, and then the agent executed.
Iteration is my vibe workflow. The MonkCast site wasn’t a weekend project. It was months of returning to it, trying things, hitting walls, waiting for models to improve, changing my mind, talking through goals, and trying again. The fun of vibe coding isn’t that everything works the first time. It’s that the feedback loop is fast enough to keep you moving forward.
Don’t discount fun. What I love about vibe coding is the ability to finally execute on the bajillion ideas I have every day. Now that deep coding and development know-how is no longer a barrier, there is just so much opportunity to create. Building with agentic tools has entered every part of my life, and I’m still having a blast.
Let me know what you think about monkcast.com, and what you’re vibe coding on LinkedIn or Bluesky.
Disclosure: AWS, IBM, Google, and GitHub/ Microsoft are all RedMonk clients.