Back to Projects

City Mobility Pulse

Real‑time Urban Mobility: Streams → Features → APIs → Dashboards

A production‑style platform that turns raw mobility signals (transit, traffic, micromobility) into live insights. This page explains the architecture, tools, and choices behind the pipeline before you jump into the code.

City Mobility Pulse

Project Overview

An end‑to‑end urban mobility analytics workflow covering streaming ingestion, validation, geospatial enrichment, feature engineering, forecasting, CI/CD, APIs, dashboards, and monitoring.

What this project showcases

Streaming Ingestion & Quality: Kafka topics for traffic/transit feeds; Spark Structured Streaming; Great Expectations for schema/drift.

Geospatial Enrichment: GTFS & OpenStreetMap joins; grid/hex (H3) aggregation; GeoParquet/Delta.

Features & Forecasting: Reproducible transformations; demand & ETA models (XGBoost/Prophet); parity across train/serve.

Packaging & CI/CD: Docker images; GitHub Actions for tests, linting, and pipeline runs.

APIs & Dashboards: FastAPI endpoints for queries; Superset/Grafana for city‑wide KPIs & maps.

Monitoring: Data freshness SLAs; model & service metrics; alert hooks.

Architecture (at a glance)

City Mobility Pulse Architecture

High‑level flow: Streams → Validation → Geo/Features → Forecasting/Tracking → Packaging/CI → APIs/Dashboards → Monitoring.

Tech Stack

Tools chosen for reliability, reproducibility, and smooth hand‑off from experimentation to production.

Data & Streams

  • Kafka, Spark Structured Streaming
  • GTFS, OpenStreetMap
  • Delta/Parquet, GeoParquet
  • Partitioning & H3 Aggregation

ML & Analytics

  • XGBoost, Prophet
  • MLflow (experiments, artifacts)
  • Feature parity train/serve
  • Evaluation & drift checks

Ops & Delivery

  • Docker, Kubernetes
  • GitHub Actions (CI/CD)
  • FastAPI, Superset/Grafana
  • IaC‑ready (Terraform layout)

Get In Touch

I'm currently open to opportunities and collaborations. Feel free to reach out!

Contact Information

Email

eadasamoah@yahoo.com

Phone

+1 (000) 000-0000

Location

San Francisco, CA

Availability

Open to opportunities

Connect With Me