Inspiration

We're an engineer and a product manager, both with long careers in AI/ML products, mostly in corporate roles. Now we want to take what we've learned over the years and put it to work in our own products for the international market. In July we started a company with one simple idea: one-function entertainment apps. Do one fun thing, do it really well, and ship it fast. Our goal is to ship 12 apps a year, each from idea to first paying user.

For the first app we looked at baby generators and found three problems:

  1. They only make photos
  2. The results are bad: uncanny, generic, and they don't look like either parent
  3. They're packed with features nobody asked for

We thought we could do better. And a simple app like this was the right first test for our whole pipeline.

What it does

Piccolo takes any two photos and creates your future baby as a 5-second HD video.

  • You + your crush? Sure.
  • Your ex + a gas station hot dog? Also sure, and it will look pretty accurate
  • Pick an age: toddler, kid or pre-teen
  • Use the resemblance slider to decide who the baby takes after
  • Save it and share it to Instagram and TikTok

Piccolo is an entertainment app. Who you pair up is your imagination and the pixels are ours.

How we built it

  • A native iOS app, with RevenueCat handling every purchase: StoreKit 2, server-side receipt validation and webhooks
  • Two products working together: a weekly subscription with a 3-day free trial (plus an annual plan as the anchor) and one-off top-up credit packs for people who run out mid-binge
  • Generation runs through our own inference proxy, which checks the RevenueCat entitlement before every generation. There are no API keys in the app and no way to get generations for free except trial 3 days
  • Amplitude analytics runs on top of RevenueCat: every step of the funnel, from install to paywall, trial, paid and top-up, is tracked as an event, so we can see exactly where users drop off
  • A single user ID is shared across our backend, Amplitude and RevenueCat, so the whole funnel connects from install to top-up

Challenges

  • Time. We planned one month to get to the App Store. It took six weeks, and most of the extra time went to App Review
  • Picking a model. We use video models through OpenRouter. We tested many of them and rewrote our prompts again and again before we found one that looked like both parents and didn't cost too much
  • Cost. Every video is a paid API call, so we couldn't offer unlimited use or cheaper packages
  • App Review. The app works with photos of faces, so we had to get the terms and privacy forms, age rating and tracking prompt right

What we learned

  • Shipping the first app is the hardest part. The paywall, top-ups and RevenueCat setup are now a template we can reuse for every app that follows
  • A hybrid model of subscription plus consumables fits generative apps: the weekly plan covers the first session, and top-ups make money from the binge instead of blocking it
  • Getting users is a skill of its own. We're learning organic growth on TikTok and Instagram with short, absurd "guess the parents" reels, and our first paid campaigns are coming soon

What's next

We didn't get our first revenue before September 30. We'll be honest about that, and it's our next milestone.

A version built to go viral

  • Ship an update that turns every result into a ready-to-share reel: both parent photos, then the baby video, all in one clip. Every share works as an ad for Piccolo

More aggressive user acquisition

  • Scale the reel formats that work, then add creator seeding
  • Launch our first paid campaigns on TikTok and Instagram, starting with the reels that already work organically

Better paywall mechanics

  • Make the paywall screen more compelling so more people buy
  • Show a second offer with a discount when someone closes the first paywall
  • Run A/B tests on paywall prices and a post-purchase top-up offer

After that, we'll ship app #2 on the same pipeline, much faster this time.

Built With

Share this project:

Updates

Submission history