Loading, in progress

CASE STUDY · FULL STACK

Real Estate Platform

A home-search marketplace with map-first browsing, saved-search alerts and direct messaging with listing agents.

ROLE
Lead developer
TIMELINE
12 weeks
TEAM
3 people
PLATFORM
Web, responsive
View code on GitHubLive demo coming soon

01 · OVERVIEW

Project overview

DEVELOPMENT TIME

12 weeks

MVP to public launch

TEAM SIZE

3 people

Lead dev, designer, backend

KEY ACHIEVEMENT

48k listings

Indexed and searchable in < 300 ms

THE PROBLEM

Buyers juggled three sites, stale listings and agents who never replied. Search results ignored what mattered most to them: commute, schools and real photos.

THE APPROACH

Haven pulls MLS feeds into one index, refreshes it every 15 minutes, and makes the map the primary way to search, with saved searches that alert the moment something new matches.

48k

active listings indexed

< 300 ms

median search response

3.2x

more agent replies than email forms

02 · FEATURES

What it does

01

Map-first search

Draw an area or pan the map; results update live with every move.

02

Saved searches & alerts

Get an email or push the minute a new home matches.

03

Mortgage calculator

Monthly cost with taxes, insurance and HOA, right on the listing.

04

Agent messaging

Chat with the listing agent and book a viewing in one thread.

05

Tour scheduling

Pick open slots for in-person or video tours.

06

Seller dashboard

Views, saves and inquiries for every listing over time.

03 · PROCESS

How it was built

  1. WEEK 1–2

    Discover

    Interviewed buyers and agents; audited MLS data quality.

    • Journey map
    • Data audit
  2. WEEK 3–4

    Design

    Map + list layout, listing page and messaging flows, tested with 12 buyers.

    • Figma prototype
    • Design tokens
  3. WEEK 5–10

    Build

    React frontend, Django API, PostGIS search and the MLS import pipeline.

    • Web app
    • Search index
  4. WEEK 11–12

    Ship

    Load testing, SEO landing pages, then a city-by-city launch.

    • Public launch
    • Lighthouse 96

04 · TECH STACK

Built with

FRONTEND

  • React
  • TypeScript
  • Mapbox GL

BACKEND

  • Django
  • DRF
  • Celery

DATA

  • PostgreSQL
  • PostGIS
  • Elasticsearch

INFRASTRUCTURE

  • AWS S3
  • CloudFront
  • Docker

ARCHITECTURE

05 · LEARNINGS

Challenges & learnings

Map search at scale

CHALLENGE

Rendering thousands of pins froze the map on mid-range laptops.

OUTCOME

Server-side clustering and viewport queries kept the map at 60 fps.

Stale listings

CHALLENGE

Sold homes kept appearing for days after closing.

OUTCOME

An incremental MLS import every 15 minutes with soft deletes kept results fresh.

Interested in this project?

Happy to walk through the code, the decisions behind it, or how something similar could work for your team.