Benoit CHEVILLON
IT Engineer
Air Pollution
Air Pollution is an online application project that provides an overview of air pollution in France. An interactive map, powered by Leaflet, displays a heatmap overlaid on a map of France. Users can select from the main pollutants, use geolocation, or search by postal code. A detailed legend shows the different pollution thresholds. An explanatory pop-up is available for each pollutant to help users better understand its origins, consequences, and how to protect themselves. The information on the map is updated weekly. The user’s client only retrieves the heatmap for each pollutant to avoid overloading it with requests to an external API. The front-end is built using React.js in TypeScript and is fully responsive.
A significant portion of the project is handled on the back-end: every week, the data is updated using the OpenMeteo API, based on processed public information. The back-end server first divides the map into a grid of 90,000 points, then uses the API to retrieve pollution information for each of these points. After that, this data is stored in a database so that it can be regenerated if needed without having to query the API again. Finally, a heatmap is generated for each pollutant using this data as a single image. There are also processes for archiving and cleaning the database. The back-end uses NodeJS, TypeScript, and Prisma. Docker is used for containerization.
This project also serves as an opportunity to showcase my skills in AI-assisted development (using Cursor): it saved a significant amount of time, suggested technical solutions, while still allowing me to maintain control over the overall project architecture and choose the best possible solutions.

Description
Personal Project
November 2025