← Back to Writings

Learning to Build as a Designer

In the recent past, my involvement with any project was to play the part of the designer and product thinker. And because I didn't have the technical chops to bring my own ideas to life, I was often on the receiving end of another's idea. I could sprinkle some life on it, dazzle it up a bit, add some definition and refinement, craft the concept into something digestible and delightful; but I could not manifest a product of software by my own means.

For some designers, that may sound like a dream job, but it only ever made me feel inept. Enter January, 2025. I had just polished up a redesign from one of my first personal projects, Sloper (a climb tracking app) and I was set on finally bringing it to life. I went to my engineer friends who I've worked with in the past to gauge their interest. It was a non-starter between other commitments and true understanding of the work being asked of them (I didn't know what I didn't know). Then I looked into dev shops to see what it would take to finally see my work built. $10k minimum, and I knew the corrective cycles would be endless unless I caved on my pixel-perfect expectations.

The options available weren't looking good, and there wasn't a clear path forward. It's that place of stagnation where product ideas begin to shrivel up and relegate themselves to the corner of a Dribbble portfolio.

Thankfully, those weren't the only options, and the more I browsed the build in public and tech communities on X, the more a kept hearing about Cursor, Windsurf, and these other AI app builders. I had my doubts, but jumped into Cursor. I had the beginnings of an Expo / React Native, but trying to implement a custom font seemed impossible and the AI suggestions had me accepting changes in circles. I hung up my hat. I tried.

Then another X post came across my feed. If you're looking for a full stack app builder, try one of these. A few product names were clumped into a chart. I knew I needed a full stack solution and noted a few: v0, Bolt, Lovable.. I had heard of Vercel, so I decided to give this whole endeavor another attempt. I opened up v0 to test a prompt:

I want to build a climbing journal app for iOS.

In seconds, I watched it create the necessary file structure for the app. It was reading the codebase. It was building the app, not just creating a random unattached snippet of code. I recognized enough of the files to know, this was the best chance I'd have at actually building something of my own. I paid for a month of v0 on the spot, grabbed a coffee, and got to work with a more intentional first prompt. The result was even better.

Two things made this a unique experience for me. 1) v0 has a Figma integration. 2) I had the entire app design in front of me, and I know how front ends are built out.

This wasn't vibe-coding, but a direct and methodical build out of every component I needed. I reviewed every file v0 provided, and verified every change. I caught plenty of errors and provided plenty of corrections, but this process was working. I spent the bulk of my time editing component styling and pushing pixels until they were perfectly positioned. The ability to iterate and refine was a reward all it's own, as I'd never been able to achieve that level of design precision when other engineers were tasked with the build out.

The next four weeks were a trial by fire experimentation. I fed v0 an endless buffet of prompts. Every iteration spit out a new version number. Sometimes the output missed the mark from what I intended, so I'd edit the previous prompt and rerun it. I was at v310, before things started getting squirrely. Outputs became nonsensical. The creators ran a discord at the time, and there were dozens of us users peppering them with questions and pointing out bugs. I found branching chats became a necessity around ~v35 or so for the best result. But as the codebase got larger by the day, outputs degraded more consistently, and it became apparent I needed to operate outside of the context window.

I should note, I was building a React Native app for iOS with Expo Go, and v0 didn't have an integration with Expo. Which means I was building an app I couldn't even test within v0. To combat this, I was simply copy and pasting every output from v0 into my own local IDE. This may sound like a burden, but it was more a learning opportunity. I truly touched every file. I organized every file. I told v0 exactly what to build, what I wanted, and where it should go. This was as hands on as you could get without literally coding the product myself.

At some point in the process, v0 bugged out and no longer allowed me to save any changes. Even new branches wouldn't save. So, I began working exclusively out of VS Code, and manually copying the necessary context of files back into ChatGPT, Grok, Gemini, DeepSeek, whichever output was best. This is essentially the service Cursor and other AI-assisted IDEs were, but they never gave me the level of insight I could get with just asking these other LLMs. And since I lost the version control of working in v0, I set up Git for the first time, and pushed my first commit in February 2025.

This became an exercise in systems exploration and building the frontend was only the beginning. Then came wiring up the database, determining the appropriate table structures, learning how all the data came together. All of which greatly improved my understanding of the requirements and restrictions of how data played with the frontend. Then came subscriptions and payment rails, and figuring out how to connect RevenueCat to the App Store. Every step toward launch required another skillset to acquire and process to learn. After my third or fourth app store rejection I remember thinking, I can't believe this is what it takes to get an app on the App Store.

Sloper launched on the App Store on April 23, 2025. I spent the rest of the day in a state of levity and reflection. My own product existed in the world, and people were willing to pay for it. What a seismic shift that was for me to experience. Before Sloper, I was a product designer who could only ever design. After Sloper, I became something else. Now I need to figure out what that is.