Home

Works portfolio

An overview of my past projects and activities. Part of my portfolio is also published on illisible.net (look at the other profiles too). Contact me for more information.

⚠️ Work in progress during April-May 2026. I'm trying to document past projects with screenshots, tags and descriptions.

Sort and filter in Hugging Face dataset viewer

Sort and filter in Hugging Face dataset viewer

Hugging Face 2024 Python Svelte TypeScript

Awesome Parquet, a curated list of resources about the Parquet file format

Awesome Parquet, a curated list of resources about the Parquet file format

Personal projects 2025 Parquet

Hierarchical map of scientific fields

Hierarchical map of scientific fields

Moritz Stefaner 2018 D3.js JavaScript SVG Treemap

Interactive blog post about virtual scroll and large tables

Interactive blog post about virtual scroll and large tables

Hyperparam 2026 Accessibility Hard problem JavaScript Performance React Table TypeScript UI Writing

Distribution of votes along the left-right scale in France, 2024

Distribution of votes along the left-right scale in France, 2024

Personal projects 2024 Elections JavaScript Observable Plot

Tool to find regional Foursquare places data files on a map

Tool to find regional Foursquare places data files on a map

Personal projects 2025 Map Observable Plot

Prepare an offline geocoder (Pelias) with data for Brazil

Prepare an offline geocoder (Pelias) with data for Brazil

Undisclosed contractors 2026 Geocoding

Wind effect with particles flowing to the right or left

Wind effect with particles flowing to the right or left

Personal projects 2024 Context 2D D3.js JavaScript Observable

Classification of a cycling race, highlighting the performance of young Seixas

Classification of a cycling race, highlighting the performance of young Seixas

Personal projects 2025 Observable Plot Sport Wikidata

Prepare an offline geocoder (Pelias) with data for Brazil

Prepare an offline geocoder (Pelias) with data for Brazil

Undisclosed contractors 2026 Geocoding

Getting started with cosovo, a CSV fetching and parsing library

Getting started with cosovo, a CSV fetching and parsing library

Personal projects 2025 CSV Library TypeScript

Data format for cartograms

Data format for cartograms

Personal projects 2025 Library

HighTable component for virtual scroll and large tables

HighTable component for virtual scroll and large tables

Hyperparam 2026 Accessibility Library Performance React Table TypeScript UI

UI to filter datasets on Hugging Face

UI to filter datasets on Hugging Face

Hugging Face 2024 Python Svelte TypeScript

Video of a tennis match, projected on a 3D scene and synchronized with the ball tracking data

Video of a tennis match, projected on a 3D scene and synchronized with the ball tracking data

LIRIS 2020 3D JavaScript Sport Three.js Video

Cartogram of Bolivia, where the size of each department is proportional to the number of deputies

Cartogram of Bolivia, where the size of each department is proportional to the number of deputies

Personal projects 2025 Bolivia

Collaborative app to work on the partition of spaces

Collaborative app to work on the partition of spaces

LIRIS 2020 JavaScript Node.js TypeScript Vue.js WebSocket

Evolution of Eigenfactor scores of journals

Evolution of Eigenfactor scores of journals

Moritz Stefaner 2018 D3.js JavaScript Parallel sets SVG

Network of scientific citations

Network of scientific citations

Moritz Stefaner 2018 Chord diagram D3.js JavaScript SVG

Dataset viewer

Dataset viewer

Hugging Face 2022 2023 2024 Svelte SVG Table Tailwind CSS TypeScript

Evolution of voter participation in France, 2022-2024

Evolution of voter participation in France, 2022-2024

Personal projects 2024 Context 2D Elections JavaScript Observable

Zoomable graph of citations between journals

Zoomable graph of citations between journals

Moritz Stefaner 2018 D3.js JavaScript Network diagram SVG

Cartogram of Bolivia, where the size of each department is proportional to the number of representatives

Cartogram of Bolivia, where the size of each department is proportional to the number of representatives

Personal projects 2025 Bolivia

CSV viewer for Source Cooperative

CSV viewer for Source Cooperative

Radiant Earth 2025 CSV React Table TypeScript

Tool to find new Hugging Face users to follow

Tool to find new Hugging Face users to follow

Hugging Face 2024 HF Space React TypeScript

Parquet viewer for Source Cooperative

Parquet viewer for Source Cooperative

Radiant Earth 2024 Parquet React Table TypeScript

Shifting Winds of French Politics: Mapping Right and Left Shifts in the 2024 vs. 2022 Elections.

Shifting Winds of French Politics: Mapping Right and Left Shifts in the 2024 vs. 2022 Elections.

Personal projects 2024 Context 2D D3.js Elections JavaScript Observable

Diff of two Parquet files on Hugging Face

Diff of two Parquet files on Hugging Face

Hugging Face 2025 Hyparquet Observable Parquet

Evolution of the extreme right vote in France, 2022-2024

Evolution of the extreme right vote in France, 2022-2024

Personal projects 2024 Context 2D Elections JavaScript Observable

Review about grid cartograms

Review about grid cartograms

Personal projects 2018 Observable Writing

Parquet metadata viewer

Parquet metadata viewer

Hugging Face 2024 Hyparquet Parquet Svelte Tailwind CSS TypeScript

Dashboard about the activity of the Observable forum

Dashboard about the activity of the Observable forum

Personal projects 2024 Observable Plot

Synchronized videos of a swimming race, projected on a 3D scene

Synchronized videos of a swimming race, projected on a 3D scene

LIRIS 2021 3D JavaScript Sport Three.js Video

Convert every dataset to Parquet

Convert every dataset to Parquet

Hugging Face 2022 Parquet Python

Diff of two Parquet files on Hugging Face

Diff of two Parquet files on Hugging Face

Hugging Face 2025 Hyparquet Observable Parquet