Full Stack

Texas Property Mapping Interface

Interactive GIS app for Travis County real estate — parcel boundaries, 3D buildings, advanced filtering

Personal

7 technologies
3 key decisions
4 results

Problem

Problem

Real estate data for Travis County (Austin) is publicly available but locked in shapefiles and GeoJSON exports that require GIS software to explore. The goal was to build a browser-native interface where anyone can interactively explore parcel boundaries, address points, building footprints, and user-submitted properties — with layer management, advanced filtering, and performance-optimized rendering on large datasets.

Approach

Approach

The application is built on Mapbox GL JS for high-performance vector rendering. Travis County parcel boundaries, address points, and building footprints are served as GeoJSON layers with toggle controls. Client-side Shapefile.js handles parsing of shapefile exports directly in the browser without a backend. Property search and filtering (by price, type, location, and more) runs against a local state store. User-submitted properties are geocoded via the Mapbox Geocoding API and persisted in localStorage. Clustered markers maintain rendering performance over dense datasets, and a heatmap layer provides density visualization.

Architecture

Architecture

Texas Property Mapping Interface — system diagram

Travis County GeoJ…Shapefile.js (clie…Mapbox Geocoding APIReact State + loca…Mapbox GL JSLayer Manager / Fi…

Key Technical Decisions

Key Technical Decisions

Assembly Instructions — 3 Steps
01

Client-side shapefile parsing

Processing shapefiles in the browser via Shapefile.js eliminates the need for a backend data conversion server. Travis County exports raw shapefile formats; parsing client-side keeps the stack simple and deployable as a static site.

02

Clustered markers for dense datasets

Rendering thousands of individual property markers as separate DOM/WebGL elements tanks frame rate. Mapbox GL's cluster source groups markers at zoom levels where individual dots are indistinguishable, switching to individual rendering only when the user zooms in to a level where separation is meaningful.

03

localStorage for user-submitted properties

For a single-user GIS exploration tool, localStorage gives zero-infrastructure persistence. Users can submit properties with geocoding, come back to them in a later session, and export — without needing an account or a database.

Results

Results

  • Full layer system: parcel boundaries, address points, 3D building footprints, and heatmap
  • Client-side shapefile parsing — no backend required, deployable as a static site
  • Performance-optimized clustered markers over dense Travis County datasets
  • Advanced filtering by price, type, and location with real-time results

Tech Stack

Tech Stack

ReactTypeScriptMapbox GL JSViteTailwind CSSGeoJSONShapefile.js

Links