Skip to content

Latest commit

 

History

588 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Domapus Banner

Live Website

TypeScript License Stars

Domapus is a website that visualizes U.S. housing market data at the ZIP-code level.


Features

Main Dashboard

Visualize median price, inventory, and sales trends nationwide. Hover over a ZIP code to show value.

Main Dashboard


Granular ZIP Details

Click on a ZIP code to access detailed market data.

Sidebar Details


Comparative Analysis

Compare two ZIP codes side-by-side to evaluate relative market performance across all available metrics.

Comparison Mode


Export

Generate report-ready maps with customizations.

Export Feature


Quick Start

  1. Clone the repository

    git clone https://github.com/jasperwchen/Domapus.git
    cd Domapus
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser

    Navigate to http://localhost:3677.


Tech Stack

Layer Technologies
Frontend React 18, TypeScript, Vite
UI Tailwind CSS, Radix UI, shadcn/ui, Lucide
Map MapLibre GL JS, PMTiles, Turf
Export Canvas 2D, jsPDF
Data Pipeline Python 3.14, NumPy, SciPy, PyArrow
Deployment GitHub Pages, GitHub Actions

Metrics Overview

Eight metrics colour the map. The rest appear in the detail panel and the comparison view for the selected ZIP.

Metric Source Choropleth map
Zillow Home Value Index Zillow Yes
Median Sale Price Redfin Yes
Median Price per Sq Ft Redfin Yes
Homes Sold Redfin Yes
Active Listings Redfin Yes
Median Days on Market Redfin Yes
% Sold Above List Redfin Yes
Months of Supply Redfin Yes
Median New Listing Price Redfin No
Median Listing Price per Sq Ft Redfin No
New Listings Redfin No
Pending Sales Redfin No
Inventory Redfin No
Sale-to-List Ratio Redfin No
% Off Market in 2 Weeks Redfin No

Data sources: Redfin Data Center, Zillow Research.

See the Methodology page for details on color scaling, sample-size thresholds, and the one-year forecast model.


Data Pipeline

A Python pipeline runs monthly via GitHub Actions. It downloads the latest Redfin and Zillow files, computes all statistics, and writes a set of static files that the site consumes at runtime. Releases are rejected if month-over-month changes exceed thresholds that would indicate a broken upstream file.

To run the pipeline locally (requires Python 3.14):

pip install -r requirements.txt
python -m pipeline

Project Structure

Path Contents
src/ React application
pipeline/ Monthly data pipeline
public/data/ Published data files used by site
scripts/ Build, palette, and geometry maintenance scripts
tests/ Pipeline tests
bench/ Performance benchmarks

See full file listings in tree.txt.


Limitations

Data reflects monthly aggregates published by Redfin and Zillow, with a typical lag of several weeks. Redfin only reports ZIP codes with market activity, so rural ZIPs with few sales may show "N/A". ZIPs with low transaction volume produce noisy medians; these are flagged as low-confidence and excluded from color-scale calibration, though they remain visible on the map.


Contributing

  1. Fork the repository and create a feature branch.

  2. Enable the repo hooks: git config core.hooksPath .githooks.

  3. Verify your changes before opening a PR:

    npm run lint
    npm test
    npm run build
    pytest   # only if pipeline/ was modified
  4. Push your branch and open a Pull Request.


License

Licensed under the Apache License 2.0. See LICENSE.md.


Contact and Support

Report bugs or request features via GitHub Issues, or contact the maintainer at jasperc.wk@gmail.com.

If you find Domapus useful, consider supporting its development:

Buy Me A Coffee


Built by Jasper Chen
Distributed under the Apache License 2.0

Releases

Sponsor this project

Used by

Contributors

Languages