Skip to content
All work

Real estate / land sales

A bilingual land store that writes its own Spanish and cuts a 30-second video per lot

Public listings, an owner-financing calculator, a lead desk, and an admin that translates and films every lot.

Client
A 15,000-acre New Mexico land and hospitality operator
System
Land listings and sales admin
My role
Design, build, and run
When
Oct 2026, live in stages
Land sales home page, sample data
Sample dataPublic land sales site with owner financing and a live camera link.

01 / Problem

What wasn't working.

Lots were sold from spreadsheets and phone calls. Spanish listings lagged the English ones or never got written. Video cost money per lot, so most lots had none. Nobody could say which listings people actually looked at.

02 / Approach

What I built.

  1. 01

    Admin lot editor writes the Spanish version through an AI translation worker. Publishing is blocked if the Spanish is missing, unchanged, or has a different number of bullets.

  2. 02

    A video job turns a lot's photos into a 30-second, 4-clip listing video. It runs on a queue with a daily cap of 6 and costs about $4.50 fast or $13.50 at best quality.

  3. 03

    First-party analytics: visits, ZIP code, time on page, video plays, and shares, with a 15-second heartbeat. It respects the consent banner.

  4. 04

    Owner-financing calculator shows the $750 processing fee as its own line, separate from the down payment.

  5. 05

    Lead desk: staff claim leads, and an unclaimed lead gets a reminder after 1 hour.

03 / Architecture

How the pieces connect.

Next.jsConvexClerkVercelVeo 3.1LLM translation workerffmpegResend
saveAdmin editorlots, photosJob queueConvexAI workertranslate, videoPublic siteEN / ESBrowser trackerconsent awareAnalytics storenightly rollupsLead deskclaim, remindsaveviewsAdmin editorlots, photosJob queueConvexAI workertranslate, videoPublic siteEN / ESBrowsertrackerconsent awareAnalyticsstorenightly rollupsLead deskclaim, remind
People / UIServiceAIEdge / networkData

04 / Result

30 s

AI listing video per lot, Spanish copy generated on save. Every published lot has Spanish copy that passed a check before it went live. 31 lots had their Spanish repaired or rewritten during rollout. Listing videos went from a special order to a button.

Spanish on save

Translation runs when the lot is saved. A mismatch stops the publish and tells the editor what is wrong.

30-second videos

Photos in, a narrated 4-clip video out. Budgeted per job and capped per day.

Analytics you own

Raw visits kept 13 months, rolled up nightly. No third-party tracker.

Financing that adds up

62 rows of fee data migrated so the calculator, listing text, and contract agree.

Lead claiming

One owner per lead, a reminder at 1 hour, mailbox sync every 15 minutes.

Live cameras

A public live page with a per-visitor limit, streamed from a camera on site.

Have a problem like this one?

Book a call

Next step

Tell me what isn't working.

A 30-minute call. You describe the problem, I tell you straight whether it's worth fixing and roughly what it costs.

Book a call