Skip to content
Faryan Rajabi
All work

Geospatial Software

Public repository

Urban Mobility Intelligence Platform

Full-stack geospatial software for mobility analysis, transit accessibility, spatial data, APIs, and interactive maps using Python, GeoPandas, PostGIS, FastAPI, Next.js, TypeScript, and MapLibre.

In numbers

In numbers

micromobility trip records
807,988
transit stops
25,106
cities
4
accessibility grid cells
8,032

Context

A full-stack geospatial mobility platform for trip analysis, transit accessibility, spatial data, and interactive maps.

It combines micromobility datasets from Austin and Chicago with public transit datasets from Stockholm and Amsterdam: 807,988 trip records and 25,106 transit stops.

Approach

A Python, GeoPandas, and PostGIS data layer feeds a FastAPI backend. The Next.js, React, and TypeScript frontend renders the results on MapLibre maps, with vector tiles served from PostGIS via ST_AsMVT.

  • Accessibility analysis across 8,032 grid cells and Weighted Linear Combination (WLC) analysis.
  • Walking-network catchments with OSMnx.
  • 14 REST endpoints and 21 automated test functions, with CI.

Features

  • Interactive maps

    MapLibre maps with vector-tile delivery.

  • Transit accessibility

    Accessibility analysis for Stockholm and Amsterdam transit networks.

  • Mobility flows

    Trip analysis and mobility flows for Austin and Chicago.

  • Spatial filtering

    Spatial filtering and transit views across the datasets.

  • Walking networks

    Walking-network analysis with OSMnx catchments.

  • Spatial data layer

    PostGIS with spatial SQL and vector tiles via ST_AsMVT.

Architecture

  1. Data
    • GTFS, OpenStreetMap, WorldPop
    • pandas, GeoPandas, Shapely
    • OSMnx
  2. Storage
    • PostGIS
    • Vector tiles via ST_AsMVT
  3. API
    • FastAPI
    • 14 REST endpoints
  4. Interface
    • Next.js, React, TypeScript
    • MapLibre

1 of 3

Stockholm transit accessibility map: a 500 m grid coloured by WLC accessibility score with transit stops, beside a panel of summary statistics

Stockholm: transit accessibility score on a 500 m grid

Tech stack

  • Python
  • pandas
  • GeoPandas
  • Shapely
  • PostGIS
  • FastAPI
  • Next.js
  • React
  • TypeScript
  • MapLibre
  • OSMnx
  • GTFS
  • OpenStreetMap