Real Estate Marketplace · AI-Powered · Live Product

Find your nexthome, shop or plot.

A three-sided marketplace connecting property buyers, verified sellers and a platform owner — with AI woven into search, lead routing and the engineering process itself. Acetrum built it end to end: buyer site, seller console, and owner dashboard.

317

TypeScript / TSX files

~33,600

Lines of application code

3

Distinct user consoles

PropLead India homepage — real estate listings and search

Property types supported

Houses & VillasApartmentsPlots & LandShops & OfficesCommercial & Warehousing

The brief

Beyond a listingsdirectory.

The brief was to build a real estate marketplace that actively helps sellers convert enquiries into sales, gives the platform owner real operational control over lead monetisation, and gives buyers a fast, trustworthy way to find verified properties — all while being genuinely SEO-competitive against established portals.

01Buyer discoverySearchable/filterable listings across property types with map views, EMI/loan-eligibility tools, comparisons, and saved favourites.
02Seller self-serviceAgencies and dealers register, get verified, list and manage their own inventory, and see which of their leads are worth calling first.
03Lead monetisation for the ownerSell a single buyer enquiry to more than one seller — by city, by manual assignment, or by AI suggestion — rather than a rigid one-lead-one-seller model.
04Trust and verificationRERA fields, KYC document verification for sellers, and a moderated review/comments system so buyers aren't navigating an unverified free-for-all.
05Content-led SEOA blog engine capable of rich, data-backed articles, structured data, canonical URLs, and human-readable slugs.
06Operational controlAn owner dashboard covering approvals, plans/pricing, revenue, site content, and AI model configuration — without needing a developer for routine changes.

Design & UI process

Not designed onceand frozen.

The UI was finalised through continuous, evidence-based iteration: build a component, load it in a live browser preview, inspect the rendered DOM and console for real issues, and adjust before moving on. That loop — build, preview, verify, refine — is the backbone of how every screen reached its final form.

A PropLead India property detail page, showing the shipped UI for a pre-leased office listing

Token-driven theming

A small set of semantic CSS custom properties feed directly into Tailwind CSS v4's @theme layer, so the UI stays consistent by construction, not convention.

Component-first UI

Shared building blocks — property cards, dealer cards, badges, modals, tabs, pagination — are reused across all three consoles, keeping them visually and behaviourally consistent.

Mobile-first, responsive by default

Layouts are built for small screens first and progressively enhanced for desktop — list/grid toggles, sticky navigation, collapsible mega-menus.

Iterative refinement from real usage

UI decisions were revisited against actual feedback — repositioning menu links, enlarging listing imagery, making entire card surfaces clickable.

Accessible by habit

Semantic roles and keyboard interaction were added to every custom-built interactive element, not just default HTML links and buttons.

The stack

Chosen for reasons,not for fashion.

FrameworkNext.js 16 (App Router) + React 19Server Components by default, file-based routing, built-in image optimisation and edge middleware
LanguageTypeScript, end to endCompile-time safety across UI, API routes and database queries — the same types flow from schema to screen
StylingTailwind CSS v4Utility-first styling driven by a small set of semantic design tokens
DatabasePostgreSQL + Drizzle ORMType-safe schema and queries; migrations tracked and applied deliberately rather than auto-synced
Authjose (JWT) + bcryptjsStateless signed sessions for buyers/owner (phone+OTP) and a separate email+password flow for sellers
AI orchestrationLangChain + LangGraph, multi-providerAnthropic, OpenAI, Google Gemini and Groq all supported behind one router — the owner picks per feature
EmailResend (SMTP-compatible fallback)Transactional email for verification and password flows, with a self-hosted SMTP path also supported
Rich contentTipTap editor + sanitize-htmlWYSIWYG editing for the blog CMS, with server-side HTML sanitisation before anything renders
MapsLeaflet + Google Maps JS APIInteractive plot/property maps and geocoding
ValidationZodEvery API route validates its input against a schema before it touches the database
ChartsChart.jsAnalytics dashboards for sellers and the owner

Architecture

Server-first,database-true.

01Edge middlewareHandles two jobs at the request boundary: canonical-domain redirects (www → apex) and role-based route protection for the seller and owner consoles.
02Server-first data fetchingPages fetch directly from the database via typed server functions rather than round-tripping through an internal API — keeping data fresh, reducing waterfalls.
03Database as source of truthNothing in the UI is templated from static seed data in production — every listing, lead, seller and blog post is a real row. “Real data only” was a working rule throughout.
04Background/administrative scriptsOne-off operations — migrations, content seeding, data backfills — run outside the request path, verified directly against the database before and after each change.

AI in the product

Seven features,one model router.

The owner selects which provider and model powers each feature independently — Anthropic, OpenAI, Google Gemini or Groq.

01AI Lead RouterScores every incoming buyer lead Hot / Warm / Cold and drafts a ready-to-send reply, shown to both the seller and the owner
02WhatsApp draft integrationThe AI-drafted reply opens directly in a pre-filled WhatsApp link, closing the gap between “AI wrote a reply” and “it was actually sent”
03RAG-powered searchNatural-language property search (e.g. “3BHK under 1 crore near a metro in Noida”) using an LLM planning step over embeddings-backed retrieval
04AI conciergeA conversational assistant that can look up real listings and answer buyer questions using live catalogue data, not a static script
05Owner AI analystA chat-driven assistant for the owner dashboard that can query platform data conversationally for operational questions
06Content moderationAI-assisted review of buyer comments/reviews before they go live
07Multi-provider model routingThe owner can select which AI provider/model powers each feature independently — Anthropic, OpenAI, Google Gemini or Groq

What was built

Three consoles,three jobs to do.

Buyers

Public site

Search and filter houses, apartments, plots and shops by city, locality, type, budget and configuration, with grid and list viewsInteractive plot and property maps (Leaflet), nearby-infrastructure chips (metro, school, hospital, market)EMI calculator and home-loan eligibility toolsProperty comparison, favourites, and reservation (refundable token hold) flowsVisit scheduling and WhatsApp / call enquiry with masked seller phone numbers until contactVerified-seller badges, RERA details, and a moderated reviews/comments systemA full blog/content engine — rich SVG charts, comparison tables, TL;DR summaries and social sharingAI concierge chat and natural-language property search

Sellers

Agency / dealer console

Self-service registration with email verification and email+password authenticationListing management: create, edit, duplicate, and track approval status per propertyTheir own AI lead score and draft reply per enquiry, with one-click WhatsApp sendCity-based coverage plans, free-tier limits, and paid promotion requestsKYC/verification document upload and status trackingSeller analytics: response time, conversion, revenuePassword reset — self-service, and owner-triggered when needed

Owner

Platform admin

Full property/plot/seller approval workflowsMulti-seller lead distribution — sell one buyer lead to more than one seller, manually or AI-matched, with per-sale pricing and full sales historyRevenue tracking across listing plans and lead salesSite content editor — homepage copy, categories, hero content — without a code deployBlog CMS with a rich content editor and publish/approve workflowAI settings: choose the model/provider behind each AI feature independentlyPlans, city-coverage, and pricing managementReservation, visit-request and review moderation queues

SEO & content

Built to be found.

Human-readable, auto-generated URL slugs for every listing, with permanent redirects from old/bare-ID links so nothing already indexed ever 404s

JSON-LD structured data on listings (Product/Residence + BreadcrumbList) and blog posts (BlogPosting)

Canonical-domain enforcement (www → apex) at the middleware layer, fixing duplicate-URL indexing before it starts

A dynamic sitemap generated from live, approved listings and published posts — never stale

Blog content built for genuine engagement: real sourced statistics, comparison tables, SVG charts, TL;DR summaries and FAQ blocks

Security

Three roles, enforced twice.

Role-based access control across three roles (buyer, seller, owner), enforced at both the edge middleware layer and inside each API route

Passwords hashed with bcrypt; sessions are signed, stateless JWTs (via jose) with httpOnly cookies

Every API route validates its input against a Zod schema before touching the database

User-generated HTML (blog content, comments) is sanitised server-side with an explicit allow-list of tags and attributes

Sensitive contact details (phone numbers) are masked in seller/dealer views until a buyer actively engages

A documented, deliberate database-migration process (generate → review → apply → register) rather than auto-sync

How we worked

Five rules,every commit.

01

Understand before changing

Read the real current implementation and real current data before writing a line of code.

02

Match existing conventions

New code reads like the surrounding code — same patterns, same naming, same component structure.

03

Verify, don't assume

Every change was checked with the TypeScript compiler, the linter, and a live browser preview before being considered complete.

04

Real data only

No fabricated ratings, statistics or trust signals anywhere in the product — gaps were surfaced explicitly, never papered over.

05

Ship in small increments

Features were built, verified and committed as discrete, reviewable units rather than large unreviewable batches.

Next

Want a platformbuilt like this one?

Tell us what you are building. We will tell you exactly how we would ship it.

Start a project
All case studies

Work With Us

Let’s create
with purpose

Share your goals, timeline, and challenges — we’ll respond with clarity and next steps.

Ambitious ideas deserve thoughtful execution. Start the conversation and let’s define what success looks like.

Team

Acetrum

Est. 2015

4.9/5

Trusted by
top brands

Services interested in:

By submitting, I confirm I’ve read and agree with Privacy and Cookie Policies.

Newsletter

Signals worth
paying attention

No recycled headlines — just the patterns we’re seeing across real client work, distilled into one read a month.

A curated digest of practical thinking and real-world brand perspectives monthly.

No spam. Unsubscribe anytime.