PythonFastAPIReactGraphQLSQLiteChromaDB

Calgary Housing Calculator

MLS-backed property valuation tool with data-driven baselines, calibration pipelines, and an AI chatbot for the Calgary housing market.

Cooper Howling
Status: active

A comprehensive property valuation tool for the Calgary area, powered by MLS comparable sales data and configurable calibration models.

Overview

The Calgary Housing Calculator provides automated property valuations using real MLS data, neighborhood-level baselines, and multi-factor calibration. It’s designed to give homeowners and real estate professionals quick, data-driven estimates.

Key Features

  • MLS-backed comparables — Real sales data from Pillar9/Clareity
  • Data-driven baselines — Neighborhood, postal code, and property subtype baselines
  • Calibration pipeline — Automated calibration across price bands, subtypes, and postal codes
  • AI Chatbot — RAG-based chatbot over a local knowledge base using ChromaDB
  • GraphQL API — Unified API for all valuation and data queries

Architecture

  • Backend: FastAPI with GraphQL (Strawberry), SQLite for data storage
  • Frontend: React (Vite) single-page application
  • Infrastructure: Self-hosted on Ubuntu, Cloudflare Tunnel, nginx reverse proxy
  • Data Pipeline: Python scripts for MLS data ingestion, baseline calculation, and calibration

Lessons Learned

Building a valuation model from scratch taught me a lot about the gap between “good enough” estimates and truly accurate ones. The calibration pipeline went through multiple iterations, and the biggest improvements came from granular postal-code-level baselines rather than city-wide averages.