/home/workreal estate
Real EstateLIVE · IN PRODUCTIONPropTech / Real Estate Technology

PropTech — Listing platform with MLS integration

Built a scalable listing platform with 500+ properties.

TIMELINE · 8 weeksTEAM · 2 engineers, 1 designer, 1 QAINDUSTRY · Real Estate
[ 01.0 / SHIPPED & LIVE ]
KEY NUMBERS

The shape of the system. By the numbers.

25+
API Endpoints
22+
DB Migrations
11
Moderation States
100+
RESO Fields Mapped
15 min
Sync Interval
11+
Packages
[ KEY_ACHIEVEMENT ]

A production-ready platform capable of processing thousands of listings per hour, with real-time search across normalized multi-source data, automated compliance enforcement, and a complete partner API ecosystem.

[ 02.0 / SCREENSHOTS ]
FROM PRODUCTION

What it looks like. Live screens.

PropTech — Listing platform with MLS integration — screenshot 1
[ 03.0 / WHAT_WE_BUILT ]
THE STAKES

The brief. What we shipped.

[ CHALLENGE ]

Needed a modern listing platform with IDX/MLS integration.

[ SOLUTION ]

Developed a Next.js platform with real-time MLS feed.

[ RESULT ]

40% increase in lead capture, 3x faster listing management.

[ 04.0 / PROBLEM_STATEMENT ]
THE GAPS WE TARGETED

What was broken. Before we shipped.

The real estate technology space presents unique engineering challenges that traditional web applications never encounter.

01

Data Fragmentation

MLS providers use varying data schemas, field naming conventions, and value enumerations. A single property attribute like "status" can have dozens of different representations across sources.

02

Regulatory Compliance

MLS/IDX display rules are complex and vary by region — mandatory disclaimers, agent attribution, freshness requirements, and opt-out enforcement. Non-compliance means data access revocation.

03

Data Freshness & Scale

Real estate data changes frequently — new listings, price updates, status changes. The platform needs to process thousands of records per sync cycle while maintaining sub-second search.

04

Search Relevance

Real estate search requires multi-dimensional filtering (price, location, beds, baths) combined with full-text search, geospatial radius queries, and intelligent relevance ranking.

05

Audit & Traceability

Every data change, moderation action, and access event must be immutably recorded for compliance audits with cryptographic hash-chain verification.

[ 06.0 / DATA_PIPELINE ]
FOUR-STAGE FLOW

Multi-stage pipeline. Orchestrated by BullMQ.

Each stage independently scalable and fault-tolerant. Backed by Redis queues with retry logic + DLQ.

STAGE 01

Ingest

reso-client

RESO Web API with OAuth 2.0, paginated retrieval, rate limiting (5 req/s), checkpoint tracking for resumable syncs.

STAGE 02

Normalize

normalizer

Map 100+ vendor fields to canonical schema, type coercion, geocoding, deduplication via fuzzy address matching.

STAGE 03

Index

search-indexer

Elasticsearch documents with full-text analysis, geo_point spatial indexing, facet aggregations, zero-downtime reindexing.

STAGE 04

Media

media-pipeline

Sharp image processing (thumb/small/medium/large), WebP optimization, S3 encryption, presigned CDN URLs.

[ 07.0 / MODERATION ]
11-STATE FSM

Every listing has a state. Always traceable.

A formal finite-state machine governs the listing lifecycle. Every transition is logged, every state is auditable.

DRAFTPENDING_REVIEWACTIVECOMPLIANCE_WARNINGCOMPLIANCE_FAILEDSUSPENDEDSTALEARCHIVEDREMOVEDKILLEDTOMBSTONE
[ 08.0 / PARTNER_API ]
FOUR TIERS

Self-service partner ecosystem.

API key management, webhook subscriptions, tiered rate limits, Stripe billing with usage metering.

TIER

Free

  • Basic search API
  • 100 req/day
  • No webhooks
TIER

Starter

  • Extended API
  • 1,000 req/day
  • Basic webhooks
  • Saved searches
RECOMMENDED

Professional

  • Full API access
  • 10,000 req/day
  • All webhooks
  • Bulk exports
  • Analytics
TIER

Enterprise

  • Unlimited API
  • Custom rate limits
  • White-labeling
  • SLA & dedicated support
[ 09.0 / CAPABILITIES ]
FEATURE DEEP DIVE

What it does. End to end.

Enterprise-grade systems for aggregating, normalizing, and serving real estate listings from multiple MLS data sources.

Elasticsearch-Powered Search

Full-text search with fuzzy matching, stemming, synonym expansion. Geospatial radius queries, faceted navigation, autocomplete, and configurable relevance tuning with BM25 scoring.

Multi-MLS Data Pipeline

RESO Web API ingestion with OAuth 2.0, delta sync every 15 minutes, weekly full reconciliation. Normalizes 100+ vendor-specific fields to a canonical schema with deduplication.

11-State Moderation Lifecycle

Formal FSM from DRAFT to TOMBSTONE — including PENDING_REVIEW, ACTIVE, COMPLIANCE_WARNING, COMPLIANCE_FAILED, SUSPENDED, STALE, ARCHIVED, REMOVED, and KILLED states.

Admin Portal & Operations

Real-time dashboard, listing management, compliance scoring, audit log viewer, agent management, job monitoring, media management, and two-factor emergency kill switch.

Partner Ecosystem & Billing

Self-service API key management, webhook subscriptions with retry logic, tiered rate limits (Free to Enterprise), Stripe billing with usage metering and white-label capability.

Infrastructure as Code

Docker/Kubernetes deployment with Terraform-managed AWS (RDS, OpenSearch, S3, ECS). GitHub Actions CI/CD, structured Pino logging, health checks, and SLO monitoring.

[ 10.0 / TECH_DECISIONS ]
WHY THESE CHOICES

The stack. And the reason for each pick.

No exotic tooling. Every choice optimises for systems that survive their second year of production.

LayerTechReason
RuntimeNode.js 20, TypeScript 5.6End-to-end type safety across monorepo
FrontendNext.js 14 (App Router)SSR for SEO, React 18, Tailwind CSS 3.4
BackendExpress.jsStructured middleware stack for REST API v1
DatabasePostgreSQL 16 + PostGIS 3.4Geospatial queries, relational integrity
SearchElasticsearch 8.15Full-text + geo search, faceted navigation
Task QueueBullMQ 5.12 + Redis 7Pipeline orchestration, retry logic, DLQ
Build SystemTurborepoMonorepo orchestration across 11+ packages
InfrastructureTerraform + KubernetesAWS IaC, Helm charts, autoscaling
PaymentsStripeSubscriptions, invoices, usage metering
[ 12.0 / SECURITY ]
HARDENED

Eight layers of defence. Built in.

  • JWT authentication with 12-hour expiration for admin sessions
  • RBAC with 4 roles: Admin, Moderator, Agent, User
  • API key authentication with tiered permissions for partners
  • Helmet security headers: CSP, HSTS, X-Frame-Options
  • Rate limiting: 100 req/min general, 10/15min auth, 30/min admin writes
  • Immutable hash-chain audit trail with tamper detection
  • PII masking for unauthenticated requests
  • Encryption at rest (S3 SSE) and in transit (TLS)
[ 13.0 / TESTIMONIAL ]
FROM THE FOUNDER

What they said.

[ AWAITING_QUOTE ] — once the founder sends a 2-3 sentence quote, drop it here with their photo + role + LinkedIn.

IMG
Founder · PropTech
QUOTE PENDING
[ NEXT_STEP ]

Want a system like this? We've done it before.

15 minutes, engineer-to-engineer. We'll talk through your system, what we'd flag, and whether we're the right team.