A year ago Nathan Covey couldn't code.
Not "couldn't build a complex backend" couldn't. I mean he didn't know how to write a line of it.
Twelve months later he's shipped multiple apps, made a few thousand bucks in revenue, and tested over 200 tools to figure out the exact stack that lets a non-developer build real things people pay for.
I've watched a lot of "I learned to code with AI" content. Most of it is fluff. This one isn't, because Nathan actually shows you the screen. The tools, the prices, the mistakes, the part-time hours.
So I broke down his whole playbook below. If you're a founder sitting on an idea but stuck because you "can't build it," this is for you.
The one-year story (and why it matters)
Nathan's first app was Ebb. A focus app for Mac that blocks distracting websites. He built it with a friend.
His second was Harmony. An AI planning app where you write a mission statement for your life, and it suggests long-term goals, weekly goals, and daily tasks off the back of it.
He started Harmony last summer. He's approaching $3,000 in ARR on it now.
Is $3K life-changing money? No. But that's not the point.
The point is he went from zero to a paying product, part-time, in a year. He's building this in roughly 20 hours a week. It's a side thing. And the reason it's even possible is the tooling.
Here's the part most people miss. Everyone says "AI made coding easier." True, but incomplete. The bigger unlock is the ecosystem of tools around the code. Auth, payments, hosting, animations. Stuff that used to take a real engineer weeks now takes you an afternoon because someone already built the hard part.
So let me walk you through the stack Nathan landed on after testing 200+ tools. I'm grouping it the way he does: front end, back end, marketing, payments, analytics, and dev.
Front end: make it pretty, fast
Nathan builds with Expo, not native Swift. This is a real opinion and I agree with it. People keep telling beginners to build native iOS apps in Xcode. Don't, unless you're building a game.
Expo does two things: it makes submitting to the App Store way less painful, and it gives you a library of pre-built features (camera, calendar, etc.) so you're not coding everything from scratch. It also ships to iOS and Android at once.
On top of Expo he runs three packages:
- NativeWind for styling. If you know Tailwind on the web, this is that for mobile. Define your colors and rounded corners once, use them everywhere, get dark mode basically for free.
- React Native Reanimated for animations. He says it's a basic building block of his entire app. Every open, close, and transition runs through it, and it stays performant.
- Lottie for lightweight animations like confetti. Search one, drop it in, done.
His whole philosophy here: the UI has to be pretty. A good-looking app converts better, full stop.
Back end: the most important choice you'll make
This is where Nathan gets opinionated, and it's the tip I'd underline twice.
He uses Convex for the backend. And he specifically pushes back on the default advice that beginners get, which is "just use Supabase."
His reasoning is sharp. In Supabase, half your logic lives in code and half lives in the dashboard. So you're constantly dancing between the two. With Convex, it all lives in one place, in your codebase, which means when you point an AI tool at it, the AI has context of your entire backend at once. It can see the front end and the back end together and make changes.
When you're building with AI, that single-context thing is a speed multiplier. Worth thinking hard about before you pick.
The rest of his backend:
- Clerk for auth. Nathan tried to build his own login system when he started Harmony. Spent a full week, hit wall after wall. Lesson learned: never build your own auth. Outsource it. Clerk integrates cleanly with Convex.
- Resend for email. Welcome emails, notifications, "sorry to see you go" feedback asks when someone cancels. Convex even has a pre-built Resend component so you skip the boilerplate.
- OpenAI for the AI features. He's tried others, but says the platform is easy, fast, and cheap for what his app needs.
Payments: do not build this yourself
Nathan's rule: auth and payments are the two things you never build from scratch.
For payments he uses Superwall. It handles the in-app purchase transactions and it lets you build paywalls from proven, high-converting templates. He hasn't run heavy A/B tests yet because his traffic is still low, which I respect him for admitting.
He used RevenueCat before and rates it too, especially for deeper integrations. His take: Superwall wins on paywall quality, RevenueCat wins on depth. Either gets you paid faster than rolling your own.
Marketing: where his subscribers actually come from
This part is gold because it's honest about what's working at small scale.
First, a landing page. He builds his on Vercel with Next.js, for SEO and to redirect web visitors to the app. Easy to spin up with AI now.
Then organic social. Nathan posts on X and LinkedIn and stays active on both. Here's the nuance: X gets him the most impressions, but LinkedIn gets him the most paying subscribers. Lower barrier to get seen, and his productivity app fits that audience. The lesson is to double down on the platform where your users actually live, not the one with the biggest vanity numbers.
One thing I'd add from my own building: the moment you start collecting emails (and you should, Resend makes it trivial), have a plan for what happens next. A trial signup that gets one email and then silence is a wasted lead. If you want a framework for turning signups into paying users instead of dead inbox weight, this breakdown of lead nurturing strategies is a solid starting point.
His other marketing tools:
- Apple Search Ads. The lowest-hanging fruit. You catch users in the App Store right when they're searching, so intent is already high. Nathan runs a "weekly planner" campaign and shows up at the top when people search that. Works best for niche terms, terrible for broad ones like "dating app."
- Screen Studio for recording polished demo videos with your face and your phone screen.
- Pally for scheduling posts across platforms. He tried "all of them" and this is his pick.
Analytics: a hot take worth hearing
Nathan's hot take: don't obsess over analytics until you have a product that's getting real traffic and conversion.
Premature optimization kills momentum. People run A/B tests before a single human has used the thing. Early on, the only numbers that matter are your paywall rate (what percent of downloads reach the paywall, which tells you if onboarding is too long) and your conversion rate (what percent of paywall views actually pay). You get both inside Superwall.
Once you've got traction, he layers in:
- PostHog for funnels and drop-offs. He built an onboarding funnel to see exactly where people bail. Generous free tier, plus error tracking.
- AppsFlyer as his MMP (mobile measurement partner). You need this the second you run paid ads, because it sends conversion data back to Meta or Google so they can find more buyers like the one who just paid.
- AppTweak for ASO once the app is bigger. It's pricey, so he's holding off until it's worth it. If App Store search is your channel, our guide on app store optimization goes deeper on the fundamentals.
Development: the part that makes it all move
The engine of the whole operation is Cursor. It's VS Code forked and injected with AI. Code on one side, an AI chat with every top model on the other, full context of your codebase.
He pairs it with a speech-to-text tool so he can talk to the AI instead of typing. He likes Willow (WhisperFlow is the other popular one) because the native app feels snappier.
His project management is almost funny in how simple it is: an Apple Notes to-do list. Bug or feature idea pops up, he writes it down, then later tells Cursor to go fix it.
He's on the $200/month Cursor plan and maxes it out most months. This cycle he'd already burned $234 of tokens while only paying $200. Last month he hit $400 to $500 of usage. These subscriptions are subsidized right now, so you get more compute than you pay for.
He also uses Claude Code, the CLI tool, alongside Cursor. His take: Claude Code is better when you're building from scratch because it can run for an hour straight and produce something solid. Cursor is better as your codebase matures and you want to see and review each change. And yes, he runs Claude Code inside Cursor, which is gloriously meta.
One more dev opinion: he doesn't design screens in Figma anymore. He tells the AI to follow the NativeWind design system he set up at the start, and it builds pages from best practices. Designs change so often that Figma just slows him down. He only uses Figma now for App Store screenshots and social assets.
If speed-shipping is the muscle you want to build, I dug into the same mindset in how to build and ship apps fast.
The four lessons I'm taking from Nathan
He closed with four takeaways, and they're the kind of thing I'd pin above my desk.
1. If you want to, you can become technical. Especially now. You can get dangerous fast and start building your own stuff.
2. The tooling is the real unlock. Expo on the front, Convex on the back, AI in the middle. You can build real apps in your free time and make money.
3. Speed is everything. It's the one advantage you have over a huge company. It's the only reason they can't just crush you. Prioritize it in everything.
4. Build stuff you personally want. Start with the thing you wish existed. It keeps you motivated through the hard days, and there will be hard days.
And honestly, the detail that stuck with me most? Nathan locked himself in a windowless closet in his house, blocked social media, and just learned. No magic. He removed distractions and put in the reps.
Stupidly simple. Most of us won't do it.
FAQ
Can you really build a profitable app without knowing how to code?
Yes, with caveats. Nathan went from non-technical to shipping paying apps in a year using AI tools like Cursor and Claude Code plus managed services for the hard parts (Clerk for auth, Superwall for payments). You still have to learn the concepts and put in real hours. The tools remove the grunt work, not the thinking.
What's the best backend for an AI-built app?
Nathan argues for Convex over the more commonly recommended Supabase, because Convex keeps all your logic in one place. That gives AI coding tools full context of your backend at once, which speeds up every change. Supabase is still good, but its logic gets split between code and dashboard.
Should I build a native Swift app or use Expo?
Use Expo unless you're building a game. Native Swift in Xcode is more complicated, doesn't play as nicely with AI coding tools, and locks you to iOS. Expo simplifies App Store submission and ships to both platforms.
How much does this stack cost to run?
Most tools have free trials, generous free tiers, or usage-based pricing where you pay pennies at the start. The biggest line item Nathan mentioned is the $200/month Cursor plan, which he maxes out. Everything else scales with your usage, so early on it's cheap.
What two things should you never build yourself?
Authentication and payments. Nathan wasted a week trying to build his own login before switching to Clerk. Use proven services for both and spend your time on the actual product.
Your move
Nathan did the boring, expensive work of testing 200 tools so you don't have to. The stack is right there. The closet-with-no-windows part is on you.
If you want more of these teardowns, every week on the Profitable Founder Podcast I sit down with bootstrapped founders and pull apart exactly how they built, priced, and grew their products. Real numbers, no fluff.
Listen to the Profitable Founder Podcast →
Go build the thing you wish existed. Then come tell me the numbers.