Skip to main content
Mehdi Cheniki's avatar head

Mehdi Cheniki

Back to projects
Independent projectFull-stack development2026

EcoKwa

An application for easily searching, visualising and comparing French public data from several official organisations.

  • Laravel
  • React
  • TypeScript
  • PostgreSQL
Open the application
EcoKwa home page with search and an inflation indicator

Starting point

Making public data easier to consult

French public data is plentiful and reliable, but spread across different organisations, formats and specialist terminology. EcoKwa provides a simpler entry point for finding an indicator, understanding what it represents and following its evolution.

What I built

  • Search and navigation across 16 indicators organised into 6 topics.
  • Pages combining the latest value, history, chart, table and methodology.
  • Comparison of compatible series over a shared period.
  • Automated imports from Insee, DREES and the French Pensions Advisory Council.

My role

I designed and developed EcoKwa independently, from data modelling and imports through to the front end, tests, deployment and operation of the application.

Technical decisions

Three challenges at the heart of the project

01

Importing heterogeneous sources

Data arrives through paginated JSON APIs and Excel files. Dedicated importers validate responses, normalise periods and store observations without creating duplicates when a job is replayed.

02

Making updates dependable

Imports run in the background with request limits, locks against concurrent runs and progressive retries for temporary failures. Every run keeps a history that can be inspected.

03

Preserving the meaning of the data

A missing value is never replaced with zero. Provisional, revised and partial statuses remain visible, and every chart has an accessible tabular alternative.

Inflation evolution chart on an EcoKwa indicator page
An indicator page brings together its latest value, evolution, origin and official source.
Comparison of headline, food and energy inflation in EcoKwa
Compatible series are aligned over a shared period without artificially filling missing observations.

Technical stack

A modern full-stack foundation serving the product

  • LaravelLaravel
  • ReactReact
  • TypeScriptTypeScript
  • PostgreSQLPostgreSQL
  • DockerDocker

Inertia.js · Tailwind CSS · Laravel Queues & Scheduler · Pest · Vitest · Inertia SSR · GitLab CI/CD · Coolify

Explore the data in EcoKwa

The application is live: search for an indicator, read its methodology or compare several series.