Agriva, real estate · 2026

Brokers pasted WhatsApp text and phone photos, and that went live

Built by Vyzma. Led by Ansuj.

Agriva listing: seller text tidied, facts measured from map data

Situation

Brokers submit listings the way they message: emoji titles, phone numbers in the description, photos with no captions, no English version.

What we built

An AI listing assistant that reads the photos and the broker's text and drafts a complete, fact-only listing in several languages.

What changed

Listings go live in English and local languages from one structured call, cheaper and more consistent than a call per language.

The problem

Agriva's brokers are good at land and bad at copywriting. A listing wizard that asked for twelve fields in English got abandoned or filled with pasted chat messages.

Earlier drafts generated copy per language with separate calls, which cost more and produced versions that disagreed with each other.

What we built

  • One GPT-4o Vision call across the top photos that returns a structured list of what is actually visible: water bodies, fencing, road access, crops, buildings. The prompt forbids speculation.
  • One structured call that produces the title, highlights, SEO meta and descriptions in every requested language at once, from the broker's facts plus the visible features.
  • An amenities extractor that only confirms amenities present in the data or the photos.
  • A broker bio generator for the public broker page.
  • The broker reviews and edits before publishing; nothing goes live unseen.

How it works

  • Photos are ranked, the top set goes to the vision model, and its output becomes an input fact sheet.
  • Fact sheet plus broker text go into a single JSON-returning call keyed by language code, so every language is generated from the same facts.
  • Output is validated against the schema before it reaches the form.

What changed

  • One call instead of one per language, which is cheaper and keeps every version consistent.
  • Listings go live in English and local languages.

Stack

OpenAI GPT-4o VisionFastAPINext.jsPostgres

If this looks like your situation

Tell us where it hurts. We will say whether it is worth automating, and what we would build first.