The #1 Hack to Build Apps With AI Without Getting Stuck | Colin Matthews
Do this before asking AI to code and how to build a habit-tracking app in just 20 minutes
Dear subscribers,
Today, I want to share a new episode with Colin Matthews.
Colin is a rockstar instructor who teaches the popular AI Prototyping for PMs course (get $100 off) on building AI apps without coding skills. In our interview, Colin shared how to pick the right AI prototyping tool, what you should do before asking AI to code, and how to build a habit-tracking app step by step in just 20 minutes.
Watch now on YouTube, Apple, and Spotify.
Colin and I talked about:
(00:00) Do this before asking AI to code
(01:13) How to pick the right AI prototyping tool
(04:40) Useful personal apps that Colin built with AI
(08:26) Building a habit-tracking app step by step
(11:39) Always start with the data model
(19:20) Why explanation before coding works so well
(25:30) Should you still learn to be technical with AI?
(29:48) Avoiding the 70% problem and getting stuck on bugs
(31:38) How to learn to code through AI prototyping
P.S. I’m looking for a part-time designer to help me create:
Charts/infographics based on a newsletter post
YouTube thumbnails that match my aesthetics
You'll be paid per deliverable, and the hours will be flexible. I'll also credit you when sharing the designs with my audience. If interested, please apply here.
How to pick the right AI prototyping tool
Welcome Colin! To start, how do you decide what AI prototyping tool to use?
Great question. The tools can be divided into three main categories:
Chatbots primarily use client-side code. With Claude, you can write small front-end applications but must know how to handle server-side code yourself.
Cloud development environments can handle client, server, and database development and deployment. Most non-technical people should start here.
Local development tools like Cursor and Windsurf are for more experienced coders. They’ll write code, but you must know how to deploy it.
The cloud IDE category includes V0, Replit Agent, Bolt, Lovable, and more. How do you decide which one to start with?
Replit is the most unique. It can handle everything from client, server, to database. None of the others offers database by default. Replit is particularly good at building data-driven applications like internal tools or dashboards.
Bolt is the most flexible. It has strong defaults, but you can work around them.
V0 offers great styling. If you don't have a specific design, it will still produce good results. It does this by using Vercel's tech like Next.js.
Lovable is an intermediate option. It doesn't have a code editor, which is important even if you're not technical, but it has nice integrations with services like Supabase and GitHub.
What AI apps have you built that you use personally?

I built a Substack image sizing tool that I use weekly. It automatically resizes images to fit Substack's requirements. I built this in Replit because I was tired of images being cropped incorrectly for my newsletter.
I’ve also used AI prototyping tools to explore design variations. When a designer shares a Figma, I paste it into AI and tell it to give me some variations.
I love that. You can also take a screenshot of any application and use these tools to create new features on top of it. It works surprisingly well.
Building a habit-tracking app in 20 min with Bolt
Ok, let’s get into it and use AI to build an end-to-end app with a database, backend, and frontend. What should we build?
Let’s build a habit-tracking app with daily streaks and a calendar view. Here’s my rough sketch and an AI prompt to get started:
Build a habit tracker app where I can add habits and check them off each day. At the top, show a date picker to navigate between days and track how many days each habit was completed in a row. Each habit mark is saved with its date. Plan the app to support a future calendar view showing all completion dates for each habit. Create a plan first, starting with the data model.
Now here’s the trick:
Don’t just ask AI to code this right away.
Instead, you should use this “reflection” technique to build a much better app: