Real Estate Marketplace · AI-Powered · Live Product
Find your next home, 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.

By The Numbers
A codebase built to last.
317
TypeScript / TSX Files
~33,600
Lines of Application Code
3
Distinct User Consoles
Property types supported
The Brief
Beyond a listings directory.
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.
Buyer discovery
Searchable/filterable listings across property types with map views, EMI/loan-eligibility tools, comparisons, and saved favourites.
Seller self-service
Agencies and dealers register, get verified, list and manage their own inventory, and see which of their leads are worth calling first.
Lead monetisation for the owner
Sell 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.
Trust and verification
RERA fields, KYC document verification for sellers, and a moderated review/comments system so buyers aren't navigating an unverified free-for-all.
Content-led SEO
A blog engine capable of rich, data-backed articles, structured data, canonical URLs, and human-readable slugs.
Operational control
An 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 once and 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.
- 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.

Under The Hood
The technology stack.
Every layer was chosen for the same reason: type-safety and directness, so the team — human and AI-assisted — can move fast without the codebase becoming fragile.
| Layer | Technology | Why |
|---|---|---|
| Framework | Next.js 16 (App Router) + React 19 | Server Components by default, file-based routing, built-in image optimisation and edge middleware |
| Language | TypeScript, end to end | Compile-time safety across UI, API routes and database queries — the same types flow from schema to screen |
| Styling | Tailwind CSS v4 | Utility-first styling driven by a small set of semantic design tokens |
| Database | PostgreSQL + Drizzle ORM | Type-safe schema and queries; migrations tracked and applied deliberately rather than auto-synced |
| Auth | jose (JWT) + bcryptjs | Stateless signed sessions for buyers/owner (phone+OTP) and a separate email+password flow for sellers |
| AI orchestration | LangChain + LangGraph, multi-provider | Anthropic, OpenAI, Google Gemini and Groq all supported behind one router — the owner picks per feature |
| Resend (SMTP-compatible fallback) | Transactional email for verification and password flows, with a self-hosted SMTP path also supported | |
| Rich content | TipTap editor + sanitize-html | WYSIWYG editing for the blog CMS, with server-side HTML sanitisation before anything renders |
| Maps | Leaflet + Google Maps JS API | Interactive plot/property maps and geocoding |
| Validation | Zod | Every API route validates its input against a schema before it touches the database |
| Charts | Chart.js | Analytics dashboards for sellers and the owner |
System Architecture
One codebase, split cleanly.
Server Components handle data-heavy, SEO-relevant pages; Client Components are used only where real interactivity is needed. API routes handle mutations and are independently authenticated and validated — the middleware layer never assumes a route is safe just because a page around it is.
- Edge middleware — Handles two jobs at the request boundary: canonical-domain redirects (www → apex) and role-based route protection for the seller and owner consoles.
- Server-first data fetching — Pages fetch directly from the database via typed server functions rather than round-tripping through an internal API — keeping data fresh, reducing waterfalls.
- Database as source of truth — Nothing 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.
- Background/administrative scripts — One-off operations — migrations, content seeding, data backfills — run outside the request path, verified directly against the database before and after each change.

AI Integration
AI used two ways: product and process.
As a capability buyers and sellers interact with directly, and as the engineering method used to build the platform itself.
AI inside the product
| Feature | What it does |
|---|---|
| AI Lead Router | Scores every incoming buyer lead Hot / Warm / Cold and drafts a ready-to-send reply, shown to both the seller and the owner |
| WhatsApp draft integration | The AI-drafted reply opens directly in a pre-filled WhatsApp link, closing the gap between “AI wrote a reply” and “it was actually sent” |
| RAG-powered search | Natural-language property search (e.g. “3BHK under 1 crore near a metro in Noida”) using an LLM planning step over embeddings-backed retrieval |
| AI concierge | A conversational assistant that can look up real listings and answer buyer questions using live catalogue data, not a static script |
| Owner AI analyst | A chat-driven assistant for the owner dashboard that can query platform data conversationally for operational questions |
| Content moderation | AI-assisted review of buyer comments/reviews before they go live |
| Multi-provider model routing | The owner can select which AI provider/model powers each feature independently — Anthropic, OpenAI, Google Gemini or Groq |
AI in how the product was built
The platform was built using Claude Code as an AI-assisted engineering partner throughout the development lifecycle — not just for boilerplate, but for full feature delivery: schema design, API routes, UI components, and live browser-based verification of every change. Every non-trivial change followed the same discipline, regardless of who — or what — wrote it:
- Research the actual current behaviour and data before changing anything — no assumptions
- Implement the smallest correct change, matching existing code conventions exactly
- Verify with real tooling: TypeScript compiler, linter, and a live browser preview against actual rendered output and network requests — not just “it looks right”
- Confirm against the real database, not seed/mock data, wherever the feature touched data
Feature Set
Three consoles, one platform.
Public site
Buyers
- Search and filter houses, apartments, plots and shops by city, locality, type, budget and configuration, with grid and list views
- Interactive plot and property maps (Leaflet), nearby-infrastructure chips (metro, school, hospital, market)
- EMI calculator and home-loan eligibility tools
- Property comparison, favourites, and reservation (refundable token hold) flows
- Visit scheduling and WhatsApp / call enquiry with masked seller phone numbers until contact
- Verified-seller badges, RERA details, and a moderated reviews/comments system
- A full blog/content engine — rich SVG charts, comparison tables, TL;DR summaries and social sharing
- AI concierge chat and natural-language property search
Agency / dealer console
Sellers
- Self-service registration with email verification and email+password authentication
- Listing management: create, edit, duplicate, and track approval status per property
- Their own AI lead score and draft reply per enquiry, with one-click WhatsApp send
- City-based coverage plans, free-tier limits, and paid promotion requests
- KYC/verification document upload and status tracking
- Seller analytics: response time, conversion, revenue
- Password reset — self-service, and owner-triggered when needed
Platform admin
Owner
- Full property/plot/seller approval workflows
- Multi-seller lead distribution — sell one buyer lead to more than one seller, manually or AI-matched, with per-sale pricing and full sales history
- Revenue tracking across listing plans and lead sales
- Site content editor — homepage copy, categories, hero content — without a code deploy
- Blog CMS with a rich content editor and publish/approve workflow
- AI settings: choose the model/provider behind each AI feature independently
- Plans, city-coverage, and pricing management
- Reservation, visit-request and review moderation queues
SEO & Content Engine
Built to compete, not just exist.
- 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 & Data Handling
Nothing left to assumption.
- 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
Development Approach
The same loop, every change.
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.
Why This Approach Works
The stack’s strong typing and clear conventions make AI-assisted changes safer to verify — and the AI-assisted workflow’s discipline of research-first, small-increment, always-verified delivery keeps a codebase this size coherent rather than accumulating the inconsistency fast iteration usually brings.
The result is a platform that doesn’t just list properties — it actively routes and monetises leads, gives sellers AI-assisted tools to close faster, gives the owner real operational control without needing a developer for every change, and is built on an SEO foundation designed to compete with established portals rather than just exist alongside them.
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
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.