Expertise
Data platforms
Country-scale geospatial pipelines, big data with Parquet, Spark and ClickHouse, time-series and spatial databases.
What problems look like here
- A whole country's terrain, imagery, roads and urban data, delivered where there is no network.
- High-volume records that only make sense on a map.
- Telemetry that has to be stored and shown as it arrives.
What I built
Case studies
-
Air-gapped mission simulation and ORBAT platform
A country-scale, fully offline mission simulation and command-and-control platform that generates its 3D scene at runtime from what operators draw on a 2D tactical map, so formations drawn in 2D play out as those formations in 3D, on a timeline.
-
Country-scale geospatial data pipeline
Nationwide ETL for terrain, imagery, roads and urban data, feeding an offline mission platform, with place search and route navigation that work with no network, and map tiles packed into each delivery.
More work
- Event and location analytics platform (MVP) High-volume analytics with geospatial correlation: vendor data arrives as Parquet, is processed and loaded into ClickHouse, then feeds the analytics. Stack: Parquet, Apache Spark, ClickHouse, PostGIS
- Incident-reporting analytics platform Incident reporting with map-based analytics. Stack: Vue, OpenLayers, Redis, PostgreSQL, Python, Node.js
- Time-series telemetry layer InfluxDB and TimescaleDB with real-time dashboards. Stack: InfluxDB, TimescaleDB
Patterns I use
-
Serve spatial data through PostGIS and pre-built offline tile and terrain sources.
-
Hold large GIS datasets as Parquet.
Used in Country-scale geospatial data pipeline and Event and location analytics platform (MVP).
-
Take vendor data as Parquet, process it and load it into ClickHouse for analytics.
-
Time-series stores behind real-time dashboards.
Used in Time-series telemetry layer.
Stack for this domain
Each links to its entry on the stack page.
Ask about this
What has he built in data platforms?
Answers come from the content on this site.
The chat needs JavaScript. Without it, ask through the contact page.