After my last blog post, I took a serious break by not doing much vibe coding off hours. It took a lot of discipline, but I managed not to message ItsyBOT and instead tried to focus on rest and relaxation while I wasn’t working.

I still had a lot of work that needed to be done at my day job, and there’s a lot of context switching there too, so it was still exhausting. But not as bad as the past few weeks when it felt like most of my days were spent “using my brain.”

I did feel rested, and today, Saturday, felt like a good time to get back on the vibe coding train.

Today’s augmented coding app: http://cvgen.itsybit.se

Started by working with Claude to define the event model for the application, describing the specs and fine-tuning the emlang-encoded event model.

I tried to send the event model to Lovable, but it just came back with a very generic design.

I’ve been maintaining a UX-focused project in Claude Code, and I asked it to take a stab at designing the app given the emlang spec. It actually came up with a pretty decent design, I thought.

Once it generated the mockups, I took that and the emlang spec and sent it to ItsyBOT, my OpenClaw bot.

I wanted to try a workflow with subagents, so given the spec, I let Harry (ItsyBOT) make the plan for splitting the features up.

The first run, we had Opus agents and I saw the usage jump 20% (on a Max Claude plan). The second sprint, I told it to launch the agents with the Haiku model instead, since the slice specifications were anyway very specific thanks to the event model. Four agents implementing four features, this time it was a 1% jump. Much more realistic, I think!

Again, it was a really smooth process of building, deploying, giving feedback, enhancing.

I think we came up with a pretty good MVP for a day’s work.

AI tools really make it a lot easier to build stuff again. But I have to say, having a system event sourced also helps a lot. It’s a much easier structure for AI to follow, and it’s a lot easier to pivot directions when you’re dealing with events. From the initial version, I didn’t have to reset any data because as the app evolved, the data could easily evolve as well.

Leave a comment