I'm writing this update retroactively from Day 5! Something I definitely need to work on is figuring out how to carve out (and protect) the time each day to do this reflection. But here's the thing—I still want to publish these updates because they serve as a really useful log of everything I'm learning (and I'm learning a tonne!).
What I did today
Today my goal was to start familiarizing myself with Claude Code, which many people have been raving about as the new frontier of agentic coding.
I've found I learn best when I can observe people who are the best at their craft and learn their best practices (kind of like Twitch streams for vibe-coding). So today I watched an absolutely bonkers video where they cloned Lovable in an hour and a half:
Click-baity title notwithstanding, this video is truly mind-blowing and really demonstrates the power of Claude Code. Of course they didn't build everything Lovable has in 90 minutes, but it was remarkable how much of the functionality they were able to create, as well as how effective Claude Code was at leveraging docs to integrate other systems.
I also read an article a friend sent me about how the nature of product management is changing, and how the nature of the spec/PRD is also changing.
I particularly love this section:
The old workflow looked like this: vague idea → wireframes → designs → engineer-built MVP → customer feedback → painful spec revision → wireframes → designs → rebuild → pray.
The new workflow: vague idea → rapid prototype → customer feedback → crystal-clear spec → AI-assisted implementation.
Something that I've been really thinking about while vibe coding these prototypes is shifting my mindset to be able to throw away prototypes. I think in the previous world, where even doing Figma designs could take a little bit of time (definitely coding up prototypes took time), there was a resistance to throwing things away.
Now you're in a world where you can create 5 different branches and test out 5 very different prototypes all at the same time. It's just about shifting that mindset of actually going into divergent mode early on in the process and testing different things deliberately—and being willing to throw them away because they don't take a lot of time to create. That's kind of a mindset shift I'm working on.
Other interesting snippets
Some wisdom from the YouTube ether that caught my attention today:
Questions I'd like to explore more
As I'm diving into learning these things, there are many questions that are popping into my head around best practices of vibe-coding. I'm going to be documenting them here so I can consciously focus on "answering" these on future days, and developing my own set of best practices.
How do you monitor context windows and know when to use "compacting", or with Cursor know when to start a new chat?
How can you most effectively interact with memory in Claude Code? CC has a .md file that it creates where you can commit things to memory—I'm assuming this is just adding to the "system prompt", but I'm wondering what level of detail is useful here. As of now, Claude is not automatically adding things to this memory file, it's up to user discretion.
Moving forward
I'd like to start setting more of a defined goal each day and trying to achieve that, plus documenting what I'm learning in the pursuit of that goal. But it has been very helpful to explore in a more divergent way at the beginning.