AnimalID Blog

I Built a Production App in 6 Days Using AI

March 4, 2026JeffEngineering · AI · Startup

How a solo iOS developer used AI coding agents to build a full-stack web app with AI document extraction, QR code profiles, and payment processing—and shipped it in less than a week.

I Built a Production App in 6 Days Using AI

On February 15th, I had an idea and zero lines of code. On February 21st, AnimalID was live in production with paying users.

I'm not here to sell you on AI coding or tell you it's magic. I'm just going to tell you what happened.

Background: Wrong Platform, Right Problem

I've been an iOS developer for 15+ years. I know Swift and UIKit inside out. But I had a problem: every time I took my dogs to the vet, I came home with paperwork I'd eventually lose. Vaccination records, lab results, medication instructions—all scattered across paper files, PDFs, and my unreliable memory.

I wanted an app that would:

  1. Let me photograph vet documents and automatically extract the data
  2. Give my pets QR code profiles in case they got lost
  3. Track medications and dosage history
  4. Work on any device without dealing with app store submissions

That last point killed the iOS-only approach. I needed web. But I'm not a web developer.

Day 1-2: Picking the Stack

I'd played with Claude before, mostly for code review and brainstorming. This time I used it differently—as a pair programmer who knew web frameworks better than I did.

I went with:

  • Next.js 14 (App Router) — Modern React framework, handles routing and API
  • Supabase — PostgreSQL database with built-in auth and storage
  • Vercel — Deployment (connects to GitHub, deploys on push)
  • Stripe — Payment processing
  • Claude AI API — Document extraction

I'd never used any of these in production. Claude walked me through setup, explained the patterns, and wrote boilerplate. I asked questions, made decisions, and wrote the business logic.

The first two days were learning curve and architecture. Database schema, auth flow, folder structure. Not glamorous, but necessary.

Day 3-4: Core Features

This is where it got fast.

I described what I wanted: "Let users upload a vet document, send it to Claude Vision API, extract vaccinations and medications, and save them to the database."

Claude (the coding assistant, not the API) generated the file upload component, the API route, the extraction prompt, and the database mutations. I tested it, found edge cases, refined the prompt, added error handling.

Same pattern for the QR code system. I explained the feature: "Each pet gets a public profile page with a QR code. Anyone can scan it to see emergency info and alert the owner." Claude scaffolded the pages, I added the logic for alerts and contact forms.

Medication tracking, weight logging, vaccination records—all followed the same rhythm. Describe the feature, review the code, test it, fix issues, move on.

I wasn't just accepting AI output blindly. I read every line. But having it draft the structure and handle Next.js conventions (server components vs client, route handlers, middleware) saved hours of documentation-diving.

Day 5: Stripe Integration & Pricing

Stripe was easier than expected. Claude generated the webhook handler, subscription management, and checkout flow. I spent more time deciding on pricing than implementing the code.

I landed on:

  • Companion: free, 1 pet profile
  • Household: $7/mo or $70/yr, up to 5 pets
  • Homestead: $15/mo or $150/yr, up to 15 pets

Tested the payment flow with Stripe's test cards, set up webhooks in production, and moved on.

Day 6: Polish & Launch

This was cleanup day. Loading states, error messages, mobile responsiveness. Added a landing page. Wrote documentation for the QR code feature.

Deployed to Vercel, pointed the domain, tested on my phone. Everything worked.

I didn't announce it publicly. Just a soft launch — domain pointed, app running, ready for real users. The marketing comes later. First, it had to work.

What AI Actually Did

Let me be clear: AI didn't "build the app for me." I built it. But AI:

  • Wrote framework-specific boilerplate (Next.js patterns, React components)
  • Generated TypeScript types from database schemas
  • Scaffolded API routes and error handling
  • Explained unfamiliar concepts (Supabase RLS policies, Vercel edge functions)
  • Caught syntax errors before I ran the code

What I did:

  • Made every product decision
  • Directed the architecture and data model
  • Debugged production issues
  • Handled auth edge cases
  • Decided what to build and what to skip

Think of it like having a senior engineer who writes first drafts. You still architect, review, test, and ship.

What I'd Do Differently

Use a component library from day one. I hand-rolled too many UI components early on. Should've started with Tailwind + Shadcn or similar. That's time I won't get back.

Set up monitoring from day one. Sentry got added later than it should have. Error tracking should be in the first commit, not an afterthought.

Why It Matters

I'm not special. I didn't invent a new technique. I just used tools that exist right now, today, to build something real.

The point isn't "wow, six days." The point is: if you have a problem worth solving and willingness to learn, the tools are there. You don't need a co-founder who knows React. You don't need to hire contractors. You can just build it.

AnimalID isn't going to replace Figma or Notion. It's a niche tool for pet owners. But it works, people pay for it, and it solves a real problem. That's enough.

What's Next

Getting users and iterating based on real feedback. The backlog has plenty of ideas — shareable health summaries, better multi-pet management, AI photo matching for lost pets — but priorities will come from what actual users need, not what sounds cool on a roadmap.

The tech stack is holding up fine. Next.js + Supabase scales better than I need right now. When I hit scaling issues, that'll be a good problem to have.

If you want to try it: https://www.animalid.app

If you're thinking about building something and wondering if AI tools are "good enough yet"—they are. Stop wondering. Start building.