selected Prototypes

Voxelized Montréal

This website shows a 3D map of Montreal where buildings are transformed into small stacked cubes, creating a digital, block-like version of the city. It’s built with HTML, CSS, and JavaScript, using Mapbox for the interactive map and Turf.js to calculate where each cube should appear based on real building data. The goal is to create an artistic, voxel-style city that turns urban space into an immersive visual experience.

Work in progress: early beta release

Hydro-Québec Outages tracker

This website tracks power outages across Quebec by scraping Hydro-Québec's data every hour and displaying them on an interactive map. The province is divided into 1km hexagonal tiles, with each hex showing how many hours it's been affected by outages over the past month. It's built with R for data processing and spatial analysis (sf, dplyr), JavaScript and Leaflet.

Work in progress: early beta release

Governmental buildings Energy Footprint

This interactive map tracks energy use and GHG emissions across 352 institutional buildings in Quebec. Buildings are color-coded by quartiles across 17 metrics including electricity consumption, natural gas usage, and CO₂ emissions per square meter. Built with Python and JavaScript.

This web map of the city of Berlin visualises temperature conditions, cold air conditions and shaded areas. It is based on a simulation of solar radiation using a digital terrain model and the interpolation of climatic model data from the Berlin Senate Department for Urban Development and was developed using R, RGrass and Mapbox.

Created in collaboration with TechnologieStiftungBerlin

Wahlbezirke Editor

The objective of this project is the development of a software that helps city employees adjust the boundaries of electoral or voting districts (Wahlbezirke) between election years. Our final product is a user-friendly tool that automatically generates and evaluates optimized districting maps for Berlin’s boroughs (Bezirke). The intuitive interface allows users to make their own modifications to algorithmically generated electoral maps. Our algorithm uses official governmental data in order to generate iterations that maximize both the geographical compactness of districts and the evenness of the population distribution across the borough.

Created in collaboration with TechnologieStiftungBerlin

Netzwerkanalyse von Open-Data-Tags

The project analyzes tags used in the Berlin Open Data Portal through a network analysis to reveal thematic clusters and relationships between datasets. An interactive visualization shows frequently co-occurring tags, the strength of their connections, and automatically identified topic areas, highlighting two main clusters around geospatial data and health/social data. The findings provide insights into the structure and focus of Berlin’s open data ecosystem and emphasize the importance of well-designed metadata tags for data discoverability. Made using R and HTML (see Github repo).

Created in collaboration with TechnologieStiftungBerlin

This tool performs a diagnosis of the level of complexity of German texts. It provides 4 different diagnostics. (1) Sprachniveau (language level): allows the user to identity the words that are not encompassed in language levels A1, A2 or B1 (default: B1). (2) Wortlänge (word length): allows the user to identify words containing more letters than a self-defined limit (default: 10 letters). (3) Satzlänge (sentence length): allows the user to identify sentences containing more words than a self-defined limit (default: 30 words). (4) Kommatas (commas): allows the user to identify sentences containing more commas than a self-defined limit (default: 3 commas). Created using R and Shiny.