My first vibe-code: from idea to App Store in a weekend

·7 min read
Updated on August 13, 2026

I wanted one place to record my pug's weight, care, appointments and reminders. The general pet apps I had tried did not match the way I organized this information.

For years I managed his health with duct tape. A Notion database for vaccinations. iOS Reminders for face fold cleaning. A note for weight. A Siri shortcut for baths. Four tools that knew nothing about each other, and nothing about pugs. When Apple shipped Claude Agent natively in Xcode, I thought maybe it was time to stop improvising.

One weekend later, a first native version was ready for App Store submission.

Editorial note: Pugify now has its own site and domain. To follow the project or download the app, visit pugify.dog.

A Niche Need, Not Veterinary Advice

Pugs are a brachycephalic breed and may need care tailored to the individual dog. Weight, care routines and vaccination schedules depend on age, health, lifestyle and veterinary advice.

I had not found an application that combined the fields and reminders I wanted for my own use. This was not an exhaustive inventory of the App Store and can change.

Pugify records information and helps prepare a conversation with a professional. It does not diagnose a condition, prescribe an ideal weight or replace a veterinarian. User-configured reminders should follow the advice given for that dog.

This is the kind of problem that is invisible from the outside. If you do not have a pug, you do not see the need. If you do, you live it every day.

1,300 lines of specs before opening Xcode

Vibe-coding has a reputation. You type a prompt, AI spits out code, it works. Reality is the opposite. The vaguer the prompt, the more useless the output. The real skill in vibe-coding isn't coding. It's writing specs.

I spent an entire morning on a CLAUDE.md file. 1,300 lines. Not a casual brief. A full technical specification describing the architecture (strict MVVM, SwiftData, SwiftUI), navigation structure, data models with their enums, color palette, and most importantly, pug health data.

For that last part, the main risk was turning a general rule into individual advice. I separated tracking functions from health recommendations. Users keep their own goals and reminders based on veterinary guidance. AI generates code, not veterinary expertise. A wrong business rule can be implemented without a technical error and still cause harm.

This step is, in my experience, 80% of the real work. Everything else is execution. And that's the counterintuitive part of vibe-coding: the bottleneck isn't generating code. It's knowing, with enough precision, what you want the code to do.

What Claude Code produced in one afternoon

I fed my 1,300-line CLAUDE.md to Claude Agent in Xcode. What came out of the first run: a complete MVVM architecture, SwiftData models, meal tracking with weekly stats, weight tracking with Swift Charts curves, a daily care system with green/amber/red indicators, vaccination reminders with booster dates, a vet contact card with PDF export, a Tip Jar via StoreKit 2, and 12 unit test files covering life stage transitions, weight thresholds, care statuses, and date calculations.

All of it with zero external dependencies. No third-party packages. No API, no server, no cloud, no Firebase, no analytics. Everything runs locally on the device.

It's impressive. I couldn't have produced this myself in the same timeframe. Probably not in several weeks.

But the design was terrible.

Claude Code had generated a functional interface with a Catppuccin color scheme. Clean, technical, and completely soulless. It looked like any productivity app. Not like something that people who photograph their pug 12 times a day would want to open.

I spent the evening searching for a direction. Looked at dozens of apps. Eventually drew inspiration from Finch, a wellness app with a soft, warm visual identity, and created what I called the "Pugify Latte" palette: warm cream background (#FFF8F0), pastel accents, rounded typography, cozy and playful. I wrote a complete redesign prompt and ran Claude Code again.

The result was unrecognizable. Same code, same features, entirely different emotion.

The lesson is simple: AI implements a vision. It doesn't have one.

Everything that isn't code

When the app runs in the simulator, it feels like you're done. You're halfway there.

You need App Store screenshots. Six in French, six in English, with iPhone mockups, punchy copy, a consistent background color. I made those in Canva. The app icon, a stylized pug at 1024x1024, was generated with Gemini. You need a support page and a privacy policy, both mandatory for submission. I deployed them on my Hetzner VPS through Coolify, integrated into my existing Next.js site, bilingual. Two complete App Store descriptions, optimized keywords for ASO, promotional text.

Then there is App Store Connect: creating In-App Purchase products, entering the requested banking and tax details, and checking eligibility for the Small Business Program. Apple states that accepted developers receive a reduced 15% commission on paid apps and in-app purchases, subject to the program's criteria and terms. Tax treatment depends on the developer's situation and should be checked with a qualified professional instead of inferred from one form.

None of this is hard. But it's real work, it's incompressible, and AI doesn't help with any of it.

Submission and European Requirements

I submitted Pugify with a privacy policy, support page, App Privacy information and review notes consistent with its features. Apple approved that version. This does not predict review of another application or update: each binary is assessed against its declared features and the current rules.

Pugify has no user account, analytics or advertising tracking. That makes the App Privacy declaration simpler, but it does not remove other requirements concerning StoreKit, metadata and health-related claims.

For distribution in the European Union, App Store Connect also asks developers to state whether they are a trader under the Digital Services Act and, where applicable, provide the required information. This should be handled early because Apple may require verification before EU distribution.

What vibe-coding actually changes

✔ What AI does better than me

Generating structured code from clear specs. Architecture, models, views, tests, all produced quickly and cleanly. Implementing well-documented patterns (StoreKit 2, local notifications, PDF export). Producing in one afternoon what would have taken me weeks of native iOS development.

I'm not a Swift developer by training. I've built web apps, browser extensions, automated workflows. But I'd never shipped a native iOS app before. Vibe-coding let me bypass that technical barrier without sacrificing output quality. That's a real shift.

⚠ What AI doesn't do for me

Finding the right idea. I was the one who knew my need and the limitations of the tools I had tried.

Having taste. I was the one who rejected the first design and spent an evening searching for the right visual direction.

Navigating the Apple ecosystem. Tax forms, EU compliance, screenshots at the right dimensions, ASO. All human work, all detail-oriented, all necessary.

Vibe-coding doesn't turn anyone into a developer. It turns someone who knows what they want to build into someone who can build it. Without a clear product vision and precise specs, AI produces noise with correct syntax.

Sources Consulted

Conclusion

In one weekend, I moved from information spread across several tools to a first native application, with a journal, configurable reminders, weight charts, an export for preparing veterinary appointments and a Tip Jar. Compliance and publication work continued after the code.

What struck me most wasn't the speed of code generation. It was how the work shifted. I spent more time writing specs than "coding." More time in App Store Connect than in Xcode. Code has become the most automatable link in the chain.

The real question is no longer "can I code?" It's "do I know what I want to build, and can I describe it precisely?"

If the answer is yes, vibe coding can accelerate implementation. Testing, security, domain expertise and publication remain the publisher's responsibility.

Also available: Read in French