Selected work

Spatial data platforms, 3D maps in the browser, and maps that fit into what you already have. Four client projects, shown with the clients’ permission and without identifying details, then four of my own.

Environmental data platform

Making 2 million companies’ environmental footprint explorable

A research organization focused on environmental data had millions of company records and a live website, but no way to explore them on a map. I built the geospatial and frontend layer end to end, from a global view down to a single company, on an open-source stack the organization can afford to run.

Scope
Geospatial architecture, frontend engineering, data pipeline, infrastructure
Stack
MapLibre GL, PMTiles, React, Vue/Nuxt, GraphQL, PostgreSQL, Cloudflare
Sector
Environmental research
Making 2 million companies’ environmental footprint explorable
1-minute demo

Impact

2M+ companies, interactive and in production, delivered over several phases. In the client’s words: “Working with Alexa was one of the best decisions we’ve ever made.”

Marine spatial platform

From survey spreadsheets to a living 3D reef

A conservation-focused dive operation surveyed its reef regularly, but the results lived in spreadsheets next to a 3D bathymetry model nobody could explore. I built a platform that puts the survey data on the reef itself, readable by people who will never open a GIS package.

Scope
GIS data architecture, 3D web development, hosting
Stack
QGIS, MapLibre GL, Three.js, React, TypeScript, PMTiles, AWS, Cloudflare
Sector
Marine conservation
From survey spreadsheets to a living 3D reef
1-minute demo

Impact

15+ months in production. Moving from 3D Tiles to height tiles plus PMTiles kept delivery fast and hosting costs flat, and the team updates the data from their own sheets, without a developer.

3D heritage map

32 landmarks, one living map

A heritage awareness campaign wanted people to see its monuments, not scroll past them. After a paid consultation, I built a custom Three.js layer inside Mapbox GL: about 32 detailed 3D landmarks on the real city map, guided navigation between them, and a build the client embeds in its own CMS.

Scope
Technical consultation, 3D web development, CMS integration
Stack
Three.js, Mapbox GL JS, glTF, QGIS, React
Sector
Culture and heritage campaign
32 landmarks, one living map
1-minute demo

Impact

Both phases rated 5.0: “Insightful and practical” for the consultation and “Really cool project, highly recommend” for the delivery. 30+ models, lazy-loaded, at 50+ FPS.

Custom fantasy cartography

A Norse world on real ground

A virtual fitness platform wanted a race route that felt like a journey through Asgard, not a line on a street map. They were not sure yet what it should look like, so I started with research and a proof of concept, then built the whole map: a hand-crafted fantasy style on real Icelandic terrain, with the route on real coordinates so each runner’s progress can be tracked.

Scope
Creative direction, cartographic design, data pipeline, web map development
Stack
QGIS, Mapbox Studio, Mapbox GL JS, Directions API, GeoJSON, Vite
Sector
Fitness and gamification
A Norse world on real ground
1-minute demo

Impact

Delivered in three weeks, in three milestones, and now live in the client’s iOS and Android app as a 26-mile virtual race. Both phases rated 5.0, with the style, data and demo app handed over in the client’s own accounts.

Own projects

Maps I build for myself, to test ideas before a client needs them. All four are live.

Storytelling map

The world’s tallest buildings, stacked in blocks on a real map

Skyscraper rankings tell you how tall, not where or why. In The Clouds turns the ranking into a journey: each tower stands on its real site as a stack of toy-like blocks, one block about 40 m, and the camera flies from city to city while a short story introduces each building.

Scope
Concept, cartography, design system, frontend
Stack
MapLibre GL, Three.js, React, TypeScript, GSAP, QGIS
Sector
Own project, storytelling
The world’s tallest buildings, stacked in blocks on a real map
1-minute demo

Impact

Height becomes something you can compare at a glance, and the ranking becomes geography. Built in about two weeks as a reusable pattern for map stories that move between places. Featured by the WebGL / WebGPU community showcase.

Real-time 3D globe

Live earthquakes on a planet you can turn in your hands

Earthquake feeds are usually lists and tables. Inner Fire puts the live USGS feed on a 3D globe with a real day and night line: every event glows where it happened, sized by magnitude and coloured by depth, and a timeline lets you step back through the last hour, day, week or month.

Scope
Concept, GLSL shaders, 3D architecture, interface design, performance
Stack
Three.js, React Three Fiber, GLSL, React, TypeScript, Vitest
Sector
Own project, Earth observation
Live earthquakes on a planet you can turn in your hands
1-minute demo

Impact

Hundreds of live events at a steady frame rate. The feed is a list of real buttons with live announcements for screen readers, motion calms down for people who ask for reduced motion, and automated tests and performance checks run on every change. Also my first project built with AI as a coding collaborator, with the architecture and the visual decisions kept in my hands.

Web game on a map

A Christmas ride across real snowy hills

A small 3D web game, first made as a holiday gift for motorcycle friends. Santa rides along real roads laid on real terrain, collects stars and passes photos from places we rode together. The terrain was prepared in QGIS; the game runs in the browser with keyboard driving, sound and a score.

Scope
Concept, terrain data, 3D game development, sound
Stack
Three.js, WebGL, QGIS, Qgis2threejs, JavaScript
Sector
Own project, games
A Christmas ride across real snowy hills
1-minute demo

Impact

Playable in the browser with nothing to install. The same pieces, real terrain, a vehicle that follows a road and a score, are the base of map-based games and gamified routes.

Data art map

Star Map: 119,614 stars, drawn as a map of the sky

A map of every star in the HYG catalogue, made for the #30DayMapChallenge “Space” day. The sky is drawn with a cartographer’s tools: a projection, a graticule and labels for the named stars, with each star sized by how bright it looks from Earth. A slider filters by magnitude, so you can go from the few stars you see in a city to the full catalogue.

Scope
Concept, cartography, data processing, frontend
Stack
D3.js, Three.js, GSAP
Sector
Own project, data art
Star Map: 119,614 stars, drawn as a map of the sky
1-minute demo

Impact

Longlisted at the Information is Beautiful Awards 2023.

Have spatial data your users cannot see yet?

Send me a link to your site or a sample of your data, and I will tell you what I would do with it before we talk about a contract.