While exchanging messages with a friend I wrote some thoughts on the experience of building QuickTake:
- The dev experience is wildly better than when I first started vibe coding in September 2024 with Cursor.
- Even with specificity Claude can still misinterpret / go off the rails. The destruction is fortunately now much easier to recover from.
- Xcode’s AI chat interface includes a “Revert” button which should be available in every one of these tools. I’m surprised this isn’t a standard feature everywhere.
- The tools still feel fragmented, but I expect that to change within the year. I should be able to seamlessly iterate and commit without jumping between applications.
- Building a native app still requires a ton of tribal knowledge. Jargon, toggles, forms, etc. I’ve done so many builds and the process is still confusing to get new code into the App Store review process. I think this is a combination of my not understanding yet, and Apple’s process being convoluted.
- The desire to get things pixel perfect can send one down an extreme rabbit hole. You keep iterating and iterating with more files and code before you realize “wait a minute I’ll just let macOS handle this” and give up. With web development it’s super easy to add an
!importantto CSS and be done. With Swift it’s a different story. Even getting text to change colors results in a bucket of bugs. For example in my sidebar I don’t want to use #000. If I give it a new hex value, that interferes with click and selected states. You would think “oh also change the color there and there” would be straightforward. It. Is. Not. - What not to build is more important than ever now that we have seemingly infinite build potential. This is what I think will set experienced designers apart.
- I have much more respect for developers. The majority of delightful design details we experience are custom. Defaults are stale. Even obvious animations need to be built.
- Building an app is an opportunity to build an extension of yourself. A website is similar but inherently more ephemeral. I visit a website and I leave. With an app I have to navigate to a store, tap install, and launch it. I never thought about how different this is. It’s packaged. It’s a thing that exists now. It’s a SKU. I find this… romantic? Soulful? As a result I felt pressure to represent myself and what I believe in.
- AI for the sake of UI: an opportunity to practice what I preach. Resist the urge to add AI chat just because you can. Find a tangible problem and figure out if AI can help.
- I’m still trying to wrap my head around this “intelligence is a material” phrasing I’m hearing on podcasts and seeing in tweets from people like Ryo Lu and Jason Yuan. I think it’s important to adopt this mindset shift, and I believe continued experimentation will achieve this.
- Vibe coding is fully addictive. Intoxicating. I think about it constantly. I seek it out. I just have so little time with a 2 year old and 4 year old. The satisfaction of idea to interface is the biggest serotonin hit I've felt in years.
- I can’t wait to rebuild my website using Claude Code + Next.js + Notion. This is
the waynext. - I can’t imagine the excitement of being at a smaller company with less bureaucracy and fewer legacy customers. Enterprise moves slowly of course. A small, passionate team can run laps around bloated incumbents. The challenge moves from building complexity to PMF, sales, and marketing. I wonder how sales and marketing teams can be empowered by AI.
- I only used Figma once and that was just to look at Apple’s UI kit.
- I built the app without using skills.md, claude.md, agents.md, etc. I can’t wait to experience vibe coding with these in place.
- I wish Claude Code had the ability to hide the token count. It means absolutely nothing to the user, it draws too much attention due to its animation, and it causes anxiety because I don’t know if it’s bad / going to cost me money.
- I hope Xcode builds a similar feature to Cursor’s visual editor. Maybe in 2 years.
- I’m curious to know if the Swift code is… drunk? I’d love to show it to an experienced developer and learn if Claude creates high quality code.
- Experimentation begets experimentation. What I love about this process is uncovering new opportunities to learn additional tools. I got to learn how to use Icon Composer for example. I also learned that syncing with iCloud requires iCloud Drive to be enabled. Many little lessons pile up quickly. I’m still seeking the ability to drop an mp4 file into an app and get a text summary out of it. App idea!