Learnings from building a simple meditation app with AI
I took a few hours to build the same simple meditation app with different AI tools. Here is what I learned along the way.
Can AI build an app for me?
AI promises a lot of things. It may take our jobs, it may save our planet, it may flood the internet with the same unoriginal visual style stolen from a human. Or all those things, who knows?
One of the things it also promises to do is build an application. A working piece of software, just from a text prompt. The only thing you need is a basic idea of what you want the AI to build.
That seems terrifying and awesome at the same time. Coming up with ideas for software is easy. Thinking them through, validating them with users, and designing and building them, is the hard part. And selling them, of course.
Like many designers (I assume), I collect ideas for software and dream about building them. Sometimes, I spend some free time mocking up design concepts and prototypes for some of those ideas. But really building one? Out of scope for me, at least until now.
I know HTML, CSS, and a bit of JavaScript. That is enough to build websites, but not enough to build applications. Looking at all those AI tools that promise you to turn your idea into working software, I decided to give them a try.
A simple meditation app
I decided to start with an idea for a simple meditation app. Just a two-minute timer, a breathing visualization, and background music. I made a quick mockup in Figma and then I tested 9 different AI tools to turn this thing into a working app.
I did this exercise with these AI tools:
- ChatGPT
- Cursor
- Claude
- v0
- Lovable
- Bolt
- Rork
- Replit
- Windsurf
All the tools above gave me a working (web) app that roughly did what I wanted it to do. All of them, however, did produce something that would still need polish, testing, and manual work before I would ship it to real users.
I could feel the magic. It only took a few minutes to get the first result. The AIs are positive and encouraging, immediately suggesting more features and enhancements. They are infinitely patient (assuming you do not reach the messaging limit).
All the AI tools I used suggested to build a web app. That meant I could follow along at least partially and fix some issues myself because there would be issues. In some cases, just prompting the AI to fix a bug is enough to fix it. In other cases, it leads to even more bugs and you start to lose track of what is going on. That’s especially true for those things you know nothing about because you completely depend on the AI to fix them.
I could not rate the quality of the code the AIs produced, besides the HTML and CSS parts. Those seemed decent most of the time, but sometimes the AIs would produce unnecessary complex structures.
Is this the future of building apps?
For a polished, production-ready app you will most likely still need humans. AI can be a big help, but you should work with it, not have it do all the work for you. For quick, high-fidelity prototypes, the simple approach I took (prompt your way to a working thing) works quite well.
Here are the things I learned while creating the apps and refining the results:
- The more detailed and precise you are, the better the results are going to be.
- Breaking things down into smaller tasks makes it easier to follow along with the AI and check what it does.
- Being knowledgeable about the stuff you ask the AI to do is a huge plus: The AI is going to make mistakes and derail from what you want. You need to be able to spot this and correct accordingly.
- If you want something unique, you are going to be responsible for that. Simply asking the AI for a high-level thing (e.g. „build a meditation app“) is going to result in a generic product.
The main learning I take away from this: treat the AI as your teammate, coworker, or colleague, not a tool that does your job (and their jobs). You want to work with the AI, not have the AI work for you.
In case you are curious what the simple meditation app looks like, here is the one I made with v0 and iterated on with Cursor: https://nextjs-boilerplate-eight-ruby-92.vercel.app/