RealCopy
An AI listing assistant for real estate agents — grounded in live property data, and rebuilt native the night the no-code stack ran out of room.
- Role
- Founder & Product Lead
- Status
- Complete
- Stack
- React Native · Expo · Express · Vertex AI
- Year
- Nov 2025 — Mar 2026
The listing is the easy part. Everything around it isn't.
An agent lists a house and then owes the internet a week of work — captions for three platforms, a LinkedIn post, and a story about the neighborhood they have to assemble by hand from school ratings, comps and whatever they remember about the street.
The pitch to a seller has the same problem in reverse. Agents were arguing price from feel because pulling the actual numbers took longer than the meeting was worth.
No-code got it real. Then it became the constraint.
The first version was a Glide app over Glide Tables and Google Sheets, with Make.com and Zapier webhooks handling scheduling and Stripe. It proved the idea with real agents in weeks rather than months, and it was the right call to start there.
Then the ceiling arrived all at once — data handling, design control, performance, and the platform's own limits on what a web app is allowed to do on a phone. The bottleneck stopped being the product and started being the tool.
Rebuilt native overnight — and that became the method.
I moved the whole thing to React Native and Expo with Cursor driving the build, and had a working native app in a single night with a substantial gain in both form and function.
The redesign went with it: a navy and mint palette aimed at the luxury end of the market, and a custom primary button with a moving gradient sheen, a synced glint and haptics on press — the kind of detail that signals the app is not a form in a wrapper.
The model writes the language. It never invents the facts.
Heavy enrichment runs on a standalone Express backend rather than the phone, so cloud credentials never ship inside the app and a slow request never blocks the UI. Each address fans out across several sources before a single word is generated.
The prompt makes the hierarchy explicit: anything the agent typed — bed and bath counts, square footage — is treated as authoritative, and web results are allowed to describe the neighborhood and nothing else. Fabricating a bathroom is the one failure a listing tool cannot survive.
Shipped to TestFlight, and mostly a lesson in environments.
The app went to beta with agents on it and weekly iteration off their feedback. Almost every hard problem in that stretch was an environment problem rather than a logic one — a backend returning an HTML error page to a client expecting JSON, uploads landing as empty files, high-resolution photos exceeding a default request limit, credentials failing to load because of the shape of a Windows file path.
The fix pattern was consistent: stop guessing about the boundary and make it report. Explicit error handling at the seam, and the real message surfaced rather than inferred.