โ†Back to Blog
AIClaude CodeProduct DesignPersonal Project

My Experiment: Could I Build a Product Myself with Claude Code

โœŽInesa Kibkaloโ–ฆApril 2026โ—ท9 min read
My Experiment: Could I Build a Product Myself with Claude Code

I decided to challenge myself: not to start with a simple portfolio website, but to go straight for building my own SaaS product โ€” and tackle the hardest part first: the backend, with all its formulas and logic.

Introduction

As someone who loves tracking every bit of progress, I always had ideas I wanted to build โ€” but I could only sketch and plan them out, never actually ship them without development knowledge. At the time, I was already tracking different aspects of my health across a mess of apps and spreadsheets: I logged nutrition in one app but copied it into Excel, where I also tracked workouts, while counting the number of workouts separately in Notion. There was no single system, so I decided to bring it all together into one product for myself.

When it came time to test Claude Code in my work as a designer, I decided to challenge myself: not to start with a simple portfolio website, but to go straight for building my own SaaS product โ€” one that would track my strength training progress at the gym โ€” and tackle the hardest part first: the backend, with all its formulas and logic.

Up to that point, I had always been "just" a designer who could think through a solution at the mockup level but couldn't build it. That started to change once AI became part of my work.

I started with mockups, information architecture, and documentation โ€” not just for components, but for the logic and complex formulas behind them: what would connect to what, and how, in the future backend. The real question was different: could I actually take a solution all the way to a working product on my own, without a development team? The answer turned out to be yes โ€” and here's how it happened.

Early mockups and information architecture sketches for the project.
Early mockups and information architecture sketches for the project.

From Idea to Product Documentation

Before opening Figma, I wrote product documentation โ€” not for the sake of formality, but because I knew that once I got to talking with Claude Code, a vague idea would cost me hours of rework.

MVP scope โ€” four modules, in order of priority:

1Calories & macros โ€” daily and weekly nutrition tracking (real daily deficit/surplus) based on a formula
2Workout tracker โ€” strength training log, tonnage, exercise progress
3Cardio & running โ€” pace, distance, progress
4Dashboard โ€” daily summary, 365 activity tiles

I narrowed the information architecture down to 19 screens: auth (login, sign up), a three-step onboarding flow, five core sections (dashboard, gym, cardio, nutrition, profile), four history screens, and six pop-up modals for logging actions.

What excited me most at this stage was realizing that the entire product rested on a single chain of dependencies. BMR and TDEE are calculated from the personal data a person enters during onboarding: weight, height, age, gender. Daily calories depend on TDEE, nutrients depend on daily calories, and the daily, weekly, and monthly deficit depend on nutrients. The personal profile turned out to be not just a data form, but the foundation the entire product's math is built on. Once I understood that, onboarding design stopped being "just a form" and became the critical entry point into the system.

Product documentation mapping the dependency chain behind the app's core formulas.
Product documentation mapping the dependency chain behind the app's core formulas.

Tech Stack

Frontend: Next.js 14 (App Router) + TypeScript + Tailwind CSS ยท Backend: Next.js API Routes (serverless) ยท ORM: Prisma 7 with @prisma/adapter-pg ยท Database: PostgreSQL (Supabase, eu-west-1) ยท Auth: NextAuth.js v4 (Google OAuth) ยท Hosting: Vercel ยท PWA: next-pwa ยท Charts: Recharts

Workflow with Claude Code

Step by step, my workflow looked like this:

1Created a separate project in Claude
2Started working through the project in detail
3Wrote the first prompt โ€” a brief describing the problem and the formula I'd worked out from my own experience, requesting a Problem Statement, target audience, and persona
4Saved every result โ€” persona, project description, information architecture โ€” as a .md file and added it to the project files. This makes it easier to switch to a new chat more often, save tokens, and keep "memory" of the project
5Building on everything done so far, I already had solid groundwork for the first coding prompt โ€” Claude Code already understood the product's full architecture, which became the foundation for further development
6One module โ€” one edit
7One edit โ€” one prompt
8One backend feature โ€” one prompt

Then came the most interesting part โ€” the Supabase backend. Creating tables and connecting them to each other based on the documentation was a new and interesting task for me, so I did this part myself.

Next was syncing the frontend with the backend, and that's where things got really interesting. The product started actually calculating everything for real, and I began adding my own steps, my own workouts, and seeing it all show up on the dashboards.

Connecting Google authentication turned out to be its own special kind of hell โ€” I hadn't run into problems quite like that before.

The prompt-by-prompt workflow inside the Claude Code project.
The prompt-by-prompt workflow inside the Claude Code project.
Frontend and backend synced โ€” first real data showing up on the dashboards.
Frontend and backend synced โ€” first real data showing up on the dashboards.

Challenges Along the Way

First, there was the authentication issue via Google โ€” already mentioned above, though it turned out not to be the biggest problem.

The biggest problem came from the fact that I hadn't created a component storybook from the start. At some point, a single prompt with edits to one block started creating a pile of new bugs across the entire system โ€” titles disappearing here, styles breaking there, in places I hadn't touched at all. Without an isolated component library, Claude Code had no clear boundary for what could and couldn't be changed, and changes in one place spread unpredictably across the whole system.

What I Learned About AI-Assisted Development

Documentation really is critical โ€” especially that first prompt that lays out the whole architecture. You can't rush it.

"One prompt โ€” one task" is still a working principle, but the deeper I got, the more I understood: a well-structured .md file with instructions is probably more important than the approach itself. A well-structured prompt won't save you if the documentation it's based on is incomplete.

Another habit that helps a lot: creating a separate project in Claude, switching to a new chat, and adding the project files there โ€” it saves tokens and preserves "memory" of the architecture.

AI is a great assistant that lets you structure ideas, build documentation, design, and put together a convenient product for yourself much faster. But it's important to provide and think through more and more detail โ€” the more precise and complete the documentation, the fewer surprises at the end.
Key takeaways from working with AI-assisted development, in one glance.
Key takeaways from working with AI-assisted development, in one glance.

What's Next

The plan is to sync the design system through Claude Code and Claude Design and bring the visuals to completion.

And honestly, using a product you built with your own hands and your own head is a bit like living in your own apartment that you bought but haven't renovated yet: you know it's yours, and that feels warm, but at the same time you can see every flaw still left to fix.

This project also taught me, as a designer, to think more in systems โ€” what comes from where, from which table, how we show it on screen. That's already helping me at work: in communicating with developers and in better understanding what clients actually want.

โ† Back to Blog