Today's newsletter is sponsored by my brand new free 3-Day AI-Assisted Decision-Making Challenge!
Btw. Three Data Point Thursday is going on a Christmas vacation. So see you next year!
Hey there! Remember when building a simple app took weeks? Well, forget about that! I've just spent 6 months diving deep into AI-assisted development, and let me tell you, it's been a wild ride. I've built over a dozen digital products, and the game has completely changed. Want to know the craziest part? What used to take weeks now takes hours - at least for people like me with great (and super crappy) ideas, with a general programming understanding, and nowhere near the experience to build anything fast. So far, though, the change isn’t that AIs can program better than humans, far from it, it is that AI enables people who couldn’t code before to now create digital products all by themselves!
That’s a powerful movement since we have a huge bottleneck for software creators in this world.
But I’ve stumbled a lot along the way, so here are a bunch of quick lessons I want to share with you that hopefully help you get started faster and expand your view on AI-assisted creation of software.
I’ve split them up into four categories to make things easier.
Note: Of course, advanced coders use AI a lot, too! Take a look at this amazing machine learner who says he saves 20-30% of his time by using AI. (And judging from what he describes, I’d say his estimate is low)
Note 2: Don’t give up or get frustrated! You’ll get stuck in places that you could never imagine because it’s a completely new way of working. But from my experience, once you push through that dip, you’ll love it.
How you should think about your AI Assistant
Imagine you’re working on a homework assignment, and you’re stuck. You know that kind of stuck that you have no diea on how to solve a difficult partial differential equations in microeconomics kind of stuck.
What do you do? Well I used to go to the smartest guy I knew. The problem always is with going to the smartest guy, what makes him smart are two things: His experience/knowledge base, and his metaknowledge on how to solve problems in general.
So imagine you walk over to that guy, but he hasn’t worked on your differential equations in microeconomics before. Can he still help you? Well of course he can! Sometimes, he’ll blast through them and give you the solution. At other times, he’ll need to ask you a couple of questions about this particular context, and at other times, he’ll help you solve it by providing you with a general solution methodology.
That’s kind of how your AI Assistant is. The problem is, unlike our smart guy, our assistant isn’t aware of when he’s not helping. He’s not aware of when he should switch to asking context questions, and when he should first provide a good solution methodology. So keep that in mind, whenever you feel you’re stuck, you’re the one who should go back and ask the assisstant to either take a step back, or ask him what he needs to solve it.
With that in mind, let’s dive in!
Category 1: The AI Landscape is Changing Faster Than You Think
Things are moving fast and faster. What did I learn about that?
Lesson 1: Blink and You'll Miss It
Remember when ChatGPT was the hottest thing in town? Well, I started with that, but before I knew it, I was working with Claude, an AI that makes ChatGPT look like a pocket calculator.
It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change. This couldn't be more true in the world of AI-assisted development! The book “Co-Intelligence” by Ethan Mollick is kind of my bible for that particular evolution.
The takeaway? What seems impossible today might be old news tomorrow. Keep your mind open and never say “never”. Only say, “Right now, this doesn’t work.” That also means you should keep on…
Lesson 2: Always Be Evaluating
New AI tools are popping up like mushrooms after rain. I've made it a habit to spend a few hours each week playing with new AI toys. Trust me, it's worth it. I've had some serious "aha!" moments that have completely changed my projects.
Imagine we're gold prospectors in the AI Wild West. Let's paint a picture: You're standing by a stream, pan in hand. Every week, you scoop up some water, swirl it around, and look for those golden nuggets of AI innovation. Some pans come up empty, but every now and then, you strike gold – a tool that revolutionizes your workflow. That's the thrill of the AI gold rush we're in right now!
I’m serious, I was using a pretty elaborate workflow for writing, copying back and forth, but a couple of weeks ago OpenAI release Canvas, essentially saving me dozens of C&Ps per session. The problem? I wasn’t aware of it! I wasted lots of time for almost a month until I became aware of it.
You and AI: The Dynamic Duo
It’s still two actors inside the creation, you and the machine, let’s see how they work together.
Lesson 3: You're Still the Boss (But AI is a Pretty Awesome Assistant)
Despite all the AI hype, you're still the star of the show. Here's an example: Claude once suggested a super elegant user authentication system. Impressive, right? But it took my understanding of our specific users to tweak it just right.
You’re there to provide context, to guide your AI Assistant, to help him figure out the best way on his own.
As Andrew Ng, founder of DeepLearning.AI, wisely put it: AI is the new electricity. It will transform every industry, but it's not a magical solution to all problems.
So you gotta tell your AI assistant to build something simple, to provide context, to ask him to provide you with 3 architecture sketches.
Lesson 4: Even AI Has "Oops" Moments
Don't freak out when your AI buddy makes a mistake that seems totally obvious. Once, Claude wrote some beautiful CSS but forgot to close a div tag. Facepalm moment, right?
Keep your eyes peeled for these "D'oh!" moments. What is obvious to you isn’t obvious to the AI system.
On the other hand, you can always ask the AI to fix its own problems, given that you can provide the right kind of feedback. You can simply paste back the errors you get, but you can also ask your AI buddy how you could provide him with the best feedback in the first place.
Lesson 5: Think of AI as Your Coding Buddy
Working with AI is surprisingly like pair programming with a human. You need patience, clear communication, and the ability to think big picture while sweating the details.
I remember when I had existing code, I wanted to further develop. I pasted just one file into Claude and got to work. At some point, though, I realized I wasn’t making progress, so I asked Claude, “This is part of a larger project; what do you need to help me better?”. As soon as I asked that question, we went in the right direction (by me providing two more essential files and the general direction of the project).
Lesson 6: Leverage AIs Meta Knowledge
AI is super smart. Sometimes you forget that. When I finished my first React project and wanted to deploy it into the wild, I started to Google how to deploy a React project, but then I stopped, turned around, and asked Claude. Claude got me running within minutes with a complete setup and a complete running application.
Claude was also able to provide me with 3 different options and helped me choose the simplest one for now.
Lesson 7: Increase your surface area
The whole problem with AI developing code is that AI isn’t really able to receive good feedback from the code it writes. Hell, most of the code it writes, I can’t even run (Claude is an exception), let alone see whether it looks “pretty.” So what can you do? You can increase the “surface area” and provide more options for Claude to get feedback. Here are a few examples I used:
I pasted screenshots of the running code (an app) back to Claude and told it to pretty it up.
I let Claude print out system parameters into the app so that we can have a common ground to communicate on
I let Claude work out an iPhone game as a React component first because Claude is able to actually run React components and only at the end asked Claude to “translate everything into an iPhone app” (and yes, that works)
Making the Most of Your AI Sidekick
Lesson 8: Be Proactive, Not Reactive
When you hit a roadblock, don't just sit there waiting for AI to magically solve it. Get creative! Once, when Claude was struggling with an API call, I manually did the call and showed it the logs. Problem solved in minutes!
Ask yourself: "What can I do in the real world to help AI understand this problem better?" Sometimes, you've gotta get your hands dirty!”
Lesson 9: Keep the Conversation Flowing
Developing with AI is like a good chat – it's all about the back-and-forth. In one project, we went through over 20 iterations to nail a complex algorithm. Each round got us closer to the perfect solution.
Dario Amodei, former research scientist at OpenAI, says the most important thing in AI right now is feedback – figuring out how to get AI systems to interact with the world and learn from that interaction.
Embrace the dialogue. It's not wasted time; it's collaborative magic happening!
Lesson 10: Slice and Dice (But Keep the Big Picture in Mind)
AI loves bite-sized tasks. I've learned to chop my projects into much smaller pieces than I would for traditional coding. But here's the trick: don't lose sight of the forest for the trees.
Lesson 11: Sometimes You Gotta Build the Thing to Build the Thing
In my AI-assisted dev adventures, I often found myself creating tools to help me work better with AI. For instance, I whipped up a script that pre-processes my project requirements into AI-friendly format.
Currently, I’m writing an extension that double checks my Claude Chat in real-time and asks ChatGPT if I’m forgetting to go back to the big picture.
Don't be afraid to step back and create tools that boost your AI workflow. It's like sharpening your axe before chopping wood – totally worth it!
Best Practices for AI-Powered Development
Lesson 12: Vertical Slices Are Your New Best Friend
Instead of building out entire layers of your app at once, focus on implementing complete features from front to back. This approach is like AI development on easy mode – you see progress fast and catch issues early.
I know, that’s common wisdom for good developers, but it’s almost essential for AI, because AI lacks feedback. So start with the part that’s most front facing. If you want a log in function, start with a button, then let it display a popup on clicking that button, then let it put input fields into that popup, then let it put a send button, then let it print back what it received, then …. you get the idea.
Lesson 13: Isolate and Decouple all the time!
Good software engineers decouple and isolate changes all the time. But with AI you’ll have to take that to a new level. Always remember to ask your AI assistant to isolate the next change you want to make, decouple, open up new files, create a separate button etc. etc. etc.
Ready to Jump In? Here's Your Starter Pack!
Excited to dive into AI-assisted development? Here's how you get started: Both ChatGPT and Claude will provide you with Code, but Claude has the ability to write React components and render them, which provides instant feedback and thus cuts your development cycles into half. So go with Claude, I’m of course on a Pro Plan.
For imagery in apps, designing logos etc. use Midjourney, it’s simple fast and amazing. Feel free to also try out ChatGPT, I’m always hitting my limits on Claude and then I’ll switch over to ChatGPT which works pretty much as good as Claude, using the very same lessons.
Pick a simple project to get started, and build it end to end. Whatever bugs you right now, you can probably build and provide as a service using these 14 lessons. And if you do, ping me!
If you want to see a few examples of stuff I created, here are a few I got out in the open (many more are hiding inside my iPhone and on my laptop):
MemeAlchemist.com (Complete with APIs hosted on n8n and authentication via Firebase)
ConvertNMerge.com (Because I needed to export all my substack posts and merge them into one document for, guess what, to work with them with AI)
https://newsletterninja.io/ (Used daily it’s it’s a Chrome extension that helps me to work much faster with scheduling substack stuff)
Focus Break (Another Chrome extension that helps my kids and me get a short meditative break whenever we open up a new tab)