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

Property types supported
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.
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.

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.
Architecture
Server-first,database-true.
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.
What was built
Three consoles,three jobs to do.
Buyers
Public site
Sellers
Agency / dealer console
Owner
Platform admin
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 projectWork 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.