Inspiration

I run a small studio that builds websites and ads for local businesses, and every real estate agent I met was paying $400 or more per listing for a videographer, or posting nothing at all. Listing photos already exist for every home. The missing piece was a way to turn those photos into a short, cinematic reel an agent can post the same day. That is HomeReel.

What it does

You add your listing photos (up to ten with a single listing video). HomeReel turns each one into a five-second cinematic scene and stitches them into one vertical reel. There is a virtual staging tool for empty rooms, a brand kit that ends every reel with the agent's name, brokerage, phone, email and logo, and a gallery of real customer reels for inspiration. Plans are simple: a single video for $19.99, or Starter at $39.99 a month for 4 videos and Pro at $79.99 a month for 8.

The Shipaton part: we did not know RevenueCat shipaton existed

HomeReel 1.0 went live on the App Store on August 14 with purchases wired straight to Apple. Receipts, server notifications, credit grants, refund handling, all hand-built. It worked, and it was fragile: every edge case (a renewal landing while the app was closed, a refund, a restore on a new phone) was another branch of code we had to own.

Halfway through Shipaton I found RevenueCat while entering a different app, and realized HomeReel was the one that needed it most. So version 1.2, built during the submission window, moves every purchase to the RevenueCat SDK: the app identifies the customer with the same user ID our server already uses, RevenueCat handles the App Store sheet, and one webhook tells our server what to grant. The old Apple path stays live only so people still on 1.1 keep working, and both paths dedupe on the same transaction IDs so nobody can be granted twice. Existing subscribers get their receipt synced once on first launch of 1.2.

How I built it

React Native with Expo, a Next.js API on Vercel, Supabase for auth and the credit ledger, and a render pipeline that turns each photo into motion. The purchase migration is small: a new purchases module on react-native-purchases, a RevenueCat webhook route, one migration for an event ledger, and a paywall that polls the profile until the grant lands instead of trusting the client.

Challenges I ran into

Migrating billing on an app with paying customers is scary. The rule I set was: prices, products, and credit amounts do not change, only the code path that observes a purchase. Two grant paths alive at once meant idempotency had to be airtight, so every purchase is keyed on Apple's transaction ID in both paths. The second challenge was time: 1.1 was already in App Review when the migration started, and Apple only reviews one version at a time.

What I learned

I built HomeReel fast as a web app, shipped it, and honestly forgot about it. When I came back, about 200 people had tried it on the web and real agents were making videos, without me pushing it at all. That flipped a switch. I went into hyperdrive: turned it into an iPhone app, rebuilt payments on RevenueCat in version 1.2, and started on what agents asked for next. It showed me how cool building really is. Ship something real, and people tell you what to build next.

What's next

Listing-link import (1.3), web-to-app purchases through RevenueCat so agents can buy from homereel.app, and a team plan for brokerages.

Built With

Share this project:

Updates

Submission history