Designing a fitness app using Lovable, Figma, and ChatGPT
Aleksandra is a senior product designer in the banking world, where she spends her days solving complex design challenges. Outside of work, she likes to experiment with new tools and ideas, using AI as a creative partner rather than just a shortcut. In this episode, she talks about how she built an app to help women align their workouts with their natural energy cycles - a project born from her own experience of wanting to design with, not against, her body’s rhythm.
In this article, we highlight our biggest take aways from this chat.
I had been reading about new AI tools and wanted to experiment with them hands on instead of just watching from the sidelines. So I went actively looking for a real problem in my own life that I could build something around. After noticing how my energy levels and gym performance fluctuated with my menstrual cycle, I landed on the idea of cycle based workout tracking. “some months I can do a hundred-kilo hip thrust, and another part of the month I can’t even lift fifty… I feel dead, I feel drained.” I tried to find existing apps that did this but wasn’t satisfied with anything that helped me work with my natural rhythm rather than against it.
So, I decided to make something for myself - a tool that would help me align my workouts with my natural energy levels, and use this project as a sandbox to test AI tools I had been curious about.
I started by researching which ones could actually help me build a real mobile app and, ChatGPT, a subscription I already had, suggested Lovable. That became my base. From there I kept ChatGPT at the center as my CTO, and used Claude, Figma, and Supabase together, calling the whole process “vibe coding” as my way to learn by doing, testing, and playing.
Each tool was used for a different layer of the workflow, almost like having a small AI team. Here’s how I used each of them:
Overall, I stayed in the driver’s seat and used AI to accelerate my ideas.
Prompting an AI is no different from asking another designer for feedback. When you ask a colleague for a critique, you never just drop the screens on their desk. You always give context: what the project is about, what stage it’s in, what the goal is, and what kind of feedback you actually want. You might say, “Ignore the copy, focus on the information architecture or the visuals or the interactions.”
With my experiments, I realized that AI tools work the same way. The more context you provide, the better the output. If you just give them a vague command, they can’t give you meaningful results. But if you set the stage, the AI becomes a useful design partner. This is something people will learn the hard way, like I did, because prompting is not magic. It’s a skill that improves with practice and iteration. The more back-and-forth you have, the more the AI starts to act like a real teammate.
It was one of the most frustrating parts of the whole process. I spent a lot of time trying to get Lovable to copy my Figma design a hundred percent, writing what I thought was the perfect initial prompt. I even used ChatGPT and Claude together to help craft that perfect prompt, thinking that if I got the language right, Lovable would finally replicate her design pixel for pixel. But no matter how many times I tried, it never came out exactly as I wanted.
It taught me that AI tools still have limitations, and that even the best prompt can’t fully replace manual design refinement. Lovable is great for some initial prototyping, but unacceptable for launch at the moment. Building with AI isn’t about perfection, it’s about iteration. You have to be ready to prompt, test, correct, and even dive into the code yourself when the AI falls short. That patience was part of learning how to vibe code.
Working with Lovable gave me a real sense of what tech capacity actually means inside a company. While building I kept running into tiny issues like colors not updating properly across different states, or spacing and padding not behaving as expected. Each time I wanted to fix something, I had to decide whether it was worth spending credits and time on, or whether I should just move on to building and testing actual features.
That constant tradeoff between perfecting visual details and validating the core idea made me realize how engineering teams think about prioritization. You have to trade off what’s going to validate your hypothesis faster, and what’s a secondary priority you fix later on. There are always limited resources, competing priorities, and a need to focus on what matters most for learning or progress, not perfection.
Approach AI playfully. It’s so much fun, you can just spend a whole weekend building and fixing and tweaking. Vibe coding isn’t about getting flawless results, it’s about giving yourself permission to build, test, and play. The key is to treat AI like a collaborator, not a command line. When you’re prompting, don’t just throw instructions, set the stage the same way you would for another designer. Give it context, goals, constraints, and what’s just a placeholder.
People often expect AI to “just do it,” but you learn (sometimes the hard way) that prompting is a skill you build over time. The more you do prompting, the better it becomes. AI tools are still messy, and you’ll spend time debugging, rewriting, and fixing code manually. But that’s normal, it’s how you learn how they actually work.
Curiousity got me to use Cursor, Unicorn Studio, Perplexity and get 118k impressions online

List of icons companies are using for Deep Research, Thinking, Create, etc.
Future of design systems, Figma MCP and Contextual Engineering
for designers and product teams in the new AI paradigm.
