AI video for estate agents
ReelEstate
ReelEstate turns the listing photos estate agents already have into branded property videos, reels and carousels for every social platform. No filming, no editing.
Visit reelestate.cc- Built for
- Estate agents, property photographers and property marketing agencies, starting in the UK.
- Our role
- Product, design, full-stack build, AI video pipeline and launch
- Stack
- Next.js, fal.ai, ffmpeg, Neon Postgres, React, TypeScript, Neon Auth, Cloudflare R2, Stripe, Resend, Google Places, sharp, Vercel

The problem
Why ReelEstate exists
Video now does more for a listing on social media than photos do, but filming and editing every property is slow and expensive. Most agents post stills, or nothing.
They already have professional listing photos. The gap was a tool that turns those stills into video, edits them into something worth posting, and packages it at the right size for each platform with the agency's branding on it.
The product
What we built
ReelEstate is a four-step workflow: add a property's photos, bring each one to life as a short clip with an AI camera move, arrange clips and photos into reels or carousels, then export them branded and sized for the platform.
Alongside video, AI photo edits fix the weather, switch to twilight, stage empty rooms or declutter busy ones, and anything that adds or removes objects is labelled as virtually staged, as listing rules require. Teams share a workspace and a credit balance, on monthly or yearly plans.
Photo to video
Each photo becomes a short clip with a push in, pull out, orbit or drone move, aimed at a point the agent picks on the image.
AI photo edits
Twilight, golden hour and daylight skies, virtual staging in a chosen style, decluttering and empty rooms, from the photos already on file.
Reels in every shape
Arrange clips, photos and brand cards into 9:16, 16:9, 1:1 or 4:5 videos with cuts, crossfades, fades and slides.
Carousels for seven platforms
Instagram, TikTok, Facebook, LinkedIn, Threads, X and Pinterest, with each platform's slide limits and shapes checked before export.
Branded by default
Start cards, end cards and a logo watermark on everything exported, so every post is unmistakably the agency's.
Team workspaces
Roles, emailed invitations and one shared credit balance, with credits that roll over and refunds for failed clips.
Screens
A closer look


Under the hood
The engineering
An AI video pipeline without a queue service
Each clip is a database row and a job on fal.ai. It completes through a webhook or through the page polling, whichever comes first, and a database lease makes sure only one path stores the result. The webhook body is never trusted: the app fetches the result again with its own key.
Catching bad AI output automatically
Video models sometimes cut to a room that does not exist. Every finished clip is decoded with ffmpeg and its frames compared against the clip's own typical change, so a sudden spike flags an invented cut. The clip is regenerated automatically, and only comes back with a Retry button if it happens twice.
A steady camera, measured
Moves are sent as twelve evenly timed keyframes with geometric spacing, so a zoom feels constant. Where a clip still rushes, the app measures the pace from its frames and trims to the steady part without cutting the file, so the agent can widen the trim again.
Video rendering on serverless
Reels render in background work split into segments, claimed by workers through database leases and stitched with ffmpeg. Transitions are layered with alpha masks using the same easing as the in-browser preview, and clips at different frame rates are retimed so no frame is dropped or doubled.
Credits that cannot be double-spent
A credit is taken in the same SQL statement that creates the clip, spending the soonest-to-expire credits first, and a failed clip refunds the balance it came from. Stripe webhooks re-read the subscription each time, so repeated or out-of-order events do no harm.
- Next.js
- fal.ai
- ffmpeg
- Neon Postgres
- React
- TypeScript
- Neon Auth
- Cloudflare R2
- Stripe
- Resend
- Google Places
- sharp
- Vercel