BLH
Builds/Houston Digital Twin
liveshipped April 27, 2026 · running 24/7

Houston Digital Twin

An autonomous AI system that watches every public traffic camera in Houston in real time. A vision-language model on hardware in my house turns each frame into structured data. Every observation is persisted to Google Cloud BigQuery, forever.

Observations
35,000+
and counting
Cameras
250
across Houston metro
Refresh
3 min
per camera
Inference
~2s
per frame on Spark

What the system does, every minute, without me

  • Tell me the live state of every freeway, loop, and beltway in Houston, refreshed every three to six minutes
  • Color a real-time map of the entire metro by congestion level
  • Persist every observation to BigQuery so I can query historical patterns
  • Surface flagged anomalies (stopped vehicles, flooding, heavy congestion, rain) in a live operations panel
  • Recover automatically from network interruptions, sleep events, and inference outages

The stack

Orchestration
MacBook Pro M4 Max, 128 GB unified
Vision inference
NVIDIA DGX Spark, Blackwell GPU, Qwen 2.5 VL 7B via Ollama
Persistence
Google Cloud BigQuery (day-partitioned, clustered)
Camera feed
Houston TranStar public snapshots, 1,070+ cameras
Always-on supervision
macOS launchd
Map visualization
Leaflet 1.9.4 with CARTO dark tiles

Total recurring infrastructure cost: under $1/month.

Architecture

                              public TranStar feeds
                                       │
                                       ▼
                ┌──────────────────────────────────────────┐
                │  MacBook Pro M4 Max 128 GB (always on)   │
                │  Flask app under launchd                 │
                │  ├─ Scrape thread (async, 20 concurrent) │
                │  ├─ Analyze worker (continuous)          │
                │  └─ HTTP server                          │
                └────────┬───────────────────┬─────────────┘
                         │                   │
            HTTP to Spark│                   │HTTPS to Google Cloud
                         ▼                   ▼
              ┌──────────────────┐   ┌─────────────────────┐
              │  DGX Spark       │   │  BigQuery           │
              │  Blackwell GPU   │   │  twin.observations  │
              │  Qwen 2.5 VL 7B  │   │  partitioned +      │
              │  via Ollama      │   │  clustered          │
              └──────────────────┘   └─────────────────────┘

Building in public

The Day 1 thread. The system was already live when I posted it.

Day 1 · Announcement
Reply 1 · Architecture and stack
Reply 2 · 16 hours of observations
Reply 3 · Live proof from BigQuery

See the live map

The system runs continuously on hardware in my office. A public live viewer is in active development. In the meantime, the observations table is queryable and growing every three minutes.