I built eight public sites and five tools for my own use. Most of them run on a cluster at home.
On the plate
These six sites use French public data. Every morning, the home page combines data from all six into one Daily Plate. Each count below opens that project on the plate.
-
establishments
Économie française economie.khalizov.com ↗
Économie française shows every active establishment in mainland France on a map, from SIRENE data. It adds the BODACC events that open, move, transfer or close them. The map replays these events by day, week or month.
SIRENE · BODACC → Go · PostgreSQL · Next.js (vinext) SSR · deck.gl + WebGL2 · MapLibre
-
buildings
France Under Construction construction.khalizov.com ↗
France Under Construction replays French construction month by month since January 2019. It shows building permits, construction starts, completions and demolition permits for each commune in mainland France. Paris and Bordeaux also have a view of each building.
Sitadel · RNB · BD TOPO → Go · PostGIS · PMTiles · Preact · MapLibre + WebGL2
-
contracts
Public Money Graph money.khalizov.com ↗
Public Money Graph shows French public procurement as a network of buyers and suppliers. It matches DECP contract records to companies in SIRENE. The amounts are declared contract values. They are not payments.
DECP · SIRENE → Go · PostgreSQL · Preact · Sigma.js
-
stations
Le pouls de la France rivers.khalizov.com ↗
Le pouls de la France shows 100 French rivers on a live map. The data comes from Hub’Eau gauges and updates every seven minutes. Away from a gauge, the map uses the nearest measurement on the official river graph and labels it as propagated.
Hub’Eau · BD TOPAGE → Go · PostgreSQL · Preact · WebGL2
-
texts
LegiFeed legifeed.fr ↗
LegiFeed summarizes new French laws. Each summary links to the source text. LegiFeed also estimates the impact, friction and complexity of each law.
DILA JORF · Légifrance → Go · PostgreSQL · DeepSeek · React 19 SSR
-
associations
AssoRadar assoradar.fr ↗
AssoRadar searches official registries for more than two million French associations and the grants they can apply for. It removes duplicate records and links each result to its source.
RNA/Waldec · SIRENE · JOAFE → Go (in-memory search) · PostgreSQL · React Router SSR · MapLibre
Also built
These two sites stay off the plate because their data does not change every day.
-
Objectif Civique objectif-civique.fr ↗
Objectif Civique helps people prepare for the French civic exam of 2026. It has questions with sources, practical scenarios, guides and a timed practice exam. It does not require an account.
React · Vite PWA · Cloudflare Pages · Mistral question audit on k3s
-
Vrai Salaire vrai-salaire.khalizov.com ↗
Vrai Salaire is a daily game. Players estimate the salary for a job profile. The game scores each estimate against official INSEE salary data for 2024.
INSEE → Go · PostgreSQL · React 19 PWA
Tools I run for myself
These are private Telegram bots, so this page has no links to them.
-
Gymbot
Gymbot records workouts and progress. It adds Apple Health data and writes workout advice from recent sessions.
Go · PostgreSQL · React Mini App · DeepSeek
-
LinkedIn Reply Assistant
The assistant writes draft replies to LinkedIn messages in English and French. I review each draft in Telegram.
Go · PostgreSQL · Mistral · LinkedIn DMA API, read-only
-
TarantulaGo
TarantulaGo records each meal, molt and health note for tarantulas and cricket colonies. It also sends reminders.
Go · GORM · PostgreSQL · Telegram Mini App
-
Shows Bot
Shows Bot sends a reminder before each new episode of the shows I follow. It gets the schedules from TMDB and TVMaze.
Go · GORM · PostgreSQL · TMDB · TVMaze
-
Go Monitor
Go Monitor reads each new commit on the master branch of the Go project. Every morning, it sends me a Telegram digest with release notes, fixes and up to three changes to study.
Go · Git partial clone · SQLite · DeepSeek
How it runs
One person runs all of it, with no platform team. Everything above deploys from Git.
┬ k3s ├─ nodes three small machines at home, amd64 and arm64 ├─ services Go · one shared PostgreSQL 17 + PostGIS (CloudNativePG) ├─ delivery GitHub Actions → ghcr.io → Helm · Argo CD · SOPS ├─ edge Cloudflare tunnel, WAF, cache, Workers + R2. No open ports. └─ apex this site, and a tarpit for scanners → Honey