← Blog

JevSeptember 23, 2026

Rank real estate listings by what buyers actually ask

Use Jev to score property evidence against a buyer's stated preferences, keep hard limits in code, and show missing facts before paying for deeper research.

“Two bedrooms under budget” is a filter. “I work from home, care about morning light, and can tolerate a dated kitchen if the commute is short” needs a ranking system that can keep those preferences separate.

Jev can score the evidence in each listing against a buyer's stated criteria. Your application filters hard constraints, combines the scores, and shows the reasons a property deserves a closer look. Only the shortlist needs additional paid research or a generated briefing.

This is a proposed workflow with invented properties and arithmetic. Jev is TypeSafe's classification model: it returns typed decisions and scores. It does not write the listing description or visit the property. TypeSafe's introduction describes the model's role.

Turn the request into constraints and preferences

Have the buyer confirm the structured brief before ranking. Put the maximum purchase price, required rooms, and any non-negotiable property features in one group. Put tradeoffs such as daylight, renovation tolerance, noise, and commute in another.

Keep the financial inputs explicit. A buyer may mean purchase price, total cash required, or an ongoing monthly budget. Store those as separate constraints and use buyer-supplied assumptions where calculations require them. Include known recurring fees in the relevant total; do not treat an absent fee field as zero.

Commute needs a destination, mode, and time window. “Near work” is too vague to reproduce. A dated route estimate is evidence. A listing agent's “easy commute” is a claim awaiting verification.

Use ordinary code for numerical checks and exact requirements. A beautiful interior cannot compensate for exceeding a hard limit. If a required fact is missing, keep the property in a verification queue rather than quietly passing or failing it.

Score the text you have

Create a packet for each surviving listing: source URL, capture date, structured property fields, relevant description excerpts, existing photo captions, and any verified measurements. Preserve which source supplied each fact.

This design uses text and existing captions. Raw photos would need a separate image-capable service or human review. A caption saying “sun-filled living room” is marketing language; it does not establish the direction of the windows or daylight at the buyer's working hours.

Ask narrow questions for light, condition, noise evidence, and commute fit. Define levels with concrete descriptions. A condition rubric might distinguish “documented substantial repairs,” “cosmetic work described,” and “recent condition evidence supports move-in readiness.” Add a separate evidence-sufficiency choice so missing information does not become the lowest condition score.

TypeSafe recommends breaking multi-factor judgments into individual scores and combining them in code. Its composite scoring pattern makes those weights explicit. The weights should belong to the buyer's brief, not change because one property has more enthusiastic copy.

Keep the arithmetic visible

Here is a fictional comparison after both listings pass the same hard filters. Each preference uses a three-level rubric ranging from 0 to 2, where higher means a better fit. Divide by 2 before applying weights.

Preference Weight Listing A Listing B
Light fit 0.35 2 1
Condition fit 0.25 1 2
Noise fit 0.20 1 2
Commute fit 0.20 2 1

The resulting scores are 0.775 for A and 0.725 for B. A leads under these assumed preferences because light carries more weight. If the buyer changes the weights, recompute the ranking without asking the model to reinterpret the whole brief.

These numbers are rubric positions, not probabilities that someone will like or buy a home. Keep the component answers and uncertainty visible. Two nearly tied listings usually deserve a comparison, not a declaration that one is the correct choice.

If noise evidence is missing for a third property, show unknown. Do not give it zero, and do not remove the missing dimension and inflate its apparent fit. Leave its total provisional and explain what must be checked before it can be compared fairly.

Buy the missing fact that could change the shortlist

Use a retrieval budget for targeted questions. Confirming a required fee may eliminate an otherwise attractive listing. Paying for several rewritten descriptions will not resolve that uncertainty.

Vaaya's real-estate reference distinguishes listing searches from property-detail calls and describes current coverage. Check the available fields before purchasing a record; a provider cannot answer every question about light, noise, fees, or condition.

Cache retrievals by property, source, and freshness requirement. Charge a shared lookup once when several comparisons reuse it. Keep the initial ranking cost separate from the cost of deeper facts and any language-model briefing, as in reviewing an agent's spending statement.

For a planning batch of 1,000 eligible listings, one classification request per listing costs 1,000 × observed classification price. Add listing data, any caption extraction, retries, and follow-up purchases. Ask the separate questions about each listing in its request; do not assume all 1,000 listings fit one call. Use bounded concurrency within the provider's limits and measure total elapsed batch time separately from individual request latency. A model speed claim cannot supply that measurement.

The application can explain a score using templates and exact source excerpts. Jev does not generate the explanation. A later writing model can draft the comparison, provided each consequential statement retains a source and uncertainty label.

Rank properties without guessing who belongs where

Keep this rubric about property features and the buyer's stated practical needs. Exclude demographic traits and proxies for them. Do not infer a preferred community from a buyer's name, religion, family composition, or similar personal information. Avoid vague categories such as “people like you.”

Provide the same factual fields consistently across listings. HUD's April 2026 clarification distinguishes factual information shared equally from discriminatory steering based on protected characteristics. This workflow does not need demographic inference to compare a commute, a documented repair, or a confirmed fee.

Test the ranking with reviewers using the same briefs and evidence. Track unsupported facts, missed hard constraints, and properties dropped because their data was incomplete. Let the buyer inspect and change the preferences, then buy deeper research only when it can resolve a specific uncertainty in the shortlist.

You can use Jev on Vaaya, along with 500+ model options and 1,500+ endpoints. One API key, one balance, a receipt for every call.

Questions

Can Jev inspect listing photographs?

This workflow supplies listing text and existing captions. It does not assume Jev can inspect raw images. Any separate image analysis has its own cost, uncertainty, and review requirements.

Can a high score override the buyer's budget?

No. Apply hard constraints before ranking. A property with unknown required costs stays unresolved until those costs are checked.

Does a listing score certify a property's condition or neighborhood?

No. The score reflects supplied evidence against a stated rubric. Keep sources and dates visible, verify consequential facts, and leave unknown fields unresolved.

Try Vaaya with your agent.

Connect your agent, choose a service, and try your first call with Vaaya.

npx @vaaya/mcp install