The $437 That Started Everything
Last year my family booked three round-trip flights. Nothing fancy — domestic trips, economy class, the kind of flights millions of families book every day without thinking twice.
A few weeks after each booking, I got curious and checked the prices again. Every single one had dropped. Not by a little — by a lot. $180 on one. $142 on another. $115 on the third.
$437 left on the table. Not because the deals weren't there. Because we didn't check. Because nobody checks. Because even if you do check, most people don't know how to rebook, or they assume the airline will make it difficult, or they just don't have time to deal with it — especially when you're juggling a family's travel plans.
Watching my family overpay on flight after flight, I thought: what if an AI could just… do this for us? Watch prices, catch the drops, handle the rebooking. What if I could build that?
The problem was, I'm not a software engineer. Not in the traditional sense. I don't have a CS degree. I've never worked at a tech company. But I'd been hearing about this thing people were calling "vibe coding" — using AI to build real software by describing what you want and iterating with an AI pair programmer.
So I tried it. And it worked. Way better than I expected.
What Is Vibe Coding, Really?
Vibe coding isn't "no-code." It's not drag-and-drop. You're writing real code — TypeScript, React Native, SQL, the whole stack. But instead of writing every line yourself, you're working with an AI that understands what you're building and can generate, debug, and refactor code in real time.
Think of it like pair programming, except your partner has read every Stack Overflow answer ever written and never gets tired.
Here's what a typical session looks like:
reference and checks if the current price is lower
than what the user paid. If it is, calculate the
savings and return whether a rebook is worth it
after factoring in change fees."
AI: [writes the endpoint, handles edge cases I didn't
think of, adds error handling, types everything]
Me: "That looks right but we need to check the airline's
change policy first — some carriers charge flat fees,
others charge fare differences."
AI: [refactors to pull from an airline policy database,
adds policy-aware logic]
You're directing. You're making decisions. You understand the product deeply. But you're not spending three hours debugging a type error or figuring out how to configure middleware. The AI handles the plumbing. You handle the thinking.
What I Actually Built
In a few weeks of vibe coding, I built Moonshot Travel — a full-stack AI travel app that does everything I wished existed:
- Chat-first interface — tell the AI where you want to go, it searches 300+ airlines and finds the best fares
- Automatic price monitoring — after you book, AI watches your route and rebooks if the fare drops
- Savings sharing — free users keep 50% of what the AI saves them. Pro users keep 70%
- AI Concierge — weather forecasts, restaurant recommendations, rewards optimization, trip management
- Real payments — Stripe subscriptions, not toy demos
- Real bookings — actual airline tickets through Duffel, an IATA-accredited provider
This isn't a prototype. It's in the App Store. People are using it. It handles real money and real airline bookings.
The Tech Stack (Built Entirely by Vibe Coding)
For the technically curious, here's what's under the hood:
- Frontend: React Native + Expo (SDK 54) — runs on iOS, Android, and web from one codebase
- Backend: Node.js + Express + TypeScript
- Database: PostgreSQL with Drizzle ORM
- AI: OpenAI GPT-4o-mini for chat, concierge, and trip intelligence
- Flights: Duffel API for search, booking, and cancellation across 300+ airlines
- Payments: Stripe for subscriptions and booking checkout
- Auth: Apple SSO, Google SSO, email/password, phone OTP
- Comms: Twilio for SMS, SendGrid for email, Expo Push for notifications
- Hosting: Replit (where I vibe coded the whole thing)
You can see the full tech stack breakdown here.
Every line of this was written through conversation with an AI. Not generated blindly and pasted — directed, iterated, tested, and refined. The AI proposes, I decide, we ship.
What Surprised Me
1. The hard parts weren't code
Code was the easy part. The hard parts were decisions: How should the savings split work? What happens if a rebook fails halfway through? How do you handle airline change policies that vary by carrier, fare class, and loyalty tier? Those are product decisions, not engineering decisions. And no AI can make them for you.
2. You still need to understand what's happening
Vibe coding doesn't mean you can be ignorant of how code works. When the Stripe webhook was silently failing because subscription.start_date didn't exist in the newer API version, I had to understand what a webhook is, what the Stripe subscription lifecycle looks like, and where the crash was happening. The AI helped me fix it in minutes once I pointed it to the logs. But I had to know enough to point it in the right direction.
3. It compounds
The more context the AI has about your project, the better it gets. By week three, it knew the database schema, the API patterns, the component structure, the business logic. New features went from "explain everything from scratch" to "add a restaurant recommendations feature that follows the same patterns as the weather intelligence module." That's when vibe coding goes from impressive to genuinely fast.
4. The quality bar is higher than you'd expect
AI-generated code isn't sloppy. It adds TypeScript types everywhere. It handles error cases I wouldn't have thought of. It writes validation schemas. It suggests security patterns. Are there bugs? Sure — just like any codebase. But the baseline quality is higher than a lot of code I've seen from experienced developers rushing to ship.
The Business Model
This is the part I'm most proud of, because the incentives are perfectly aligned:
Moonshot only makes money when the AI saves you money.
Free users keep 50% of rebooking savings plus earn 5% travel credit. Pro users ($4.99/mo) keep 70% of savings and earn 10% real cash back. There are no booking fees, no hidden charges, no "service fees" tacked on at checkout.
If the AI doesn't find you savings, Moonshot earns nothing. That's how it should be.
What This Means for Everyone
I'm not writing this to brag. I'm writing this because the implications are wild.
Five years ago, building an app like Moonshot would have required a team of 5-8 engineers, a product manager, and 6-12 months of development. Budget: $500K+. And that's if everything went well.
I built it by vibe coding on Replit. One person. A fraction of the cost. And it's a real product — in the App Store, processing real payments, booking real flights.
This isn't unique to me. The tools are available to anyone. If you have a problem that annoys you enough, and you're willing to sit down and describe the solution clearly, you can build real software now.
Not toy apps. Not demos. Not "landing pages with a waitlist." Real, functional software that solves real problems.
The barrier to building just collapsed. The only barrier left is knowing what's worth building.
Try It Yourself
If your family flies even a few times a year, you're probably leaving money on the table. Moonshot watches your prices and handles the rebooking automatically. It's free to start — you only share savings when the AI actually finds them.
Stop leaving money on the table
Book your next flight through Moonshot and let AI save you money automatically.
Try Moonshot Travel — FreeAnd if you've vibe coded something cool yourself, I'd love to hear about it. We're all figuring this out together.