← Case studies

Web Application

AlertJO.fr

Tracking of naturalization decrees in the Journal Officiel: automatic PDF extraction, REZE number search and an email alert when a decree appears.

AlertJO.fr
Type
Web Application
Website
alertjo.fr
Stack
Next.jsTypeScriptDrizzle ORMPostgreSQLPlaywrightStripeDocker

87/100

Lighthouse performance, mobile

100/100

Lighthouse performance, desktop

100/100

Accessibility, best practices, SEO

1,305

automated tests, none failing

Lighthouse 13.5 measures on the /fr page, one run per profile, and a run of the test suite, on 16 October 2026.

About this project

AlertJO tracks the naturalization decrees published in the Journal Officiel. A parser extracts the naturalized people from the PDFs, decree retrieval from Légifrance is automated every day, and users search their REZE number for free or activate a paid email alert as a one-time payment. The site also offers public statistics by department and country, a bilingual blog and a role-based dashboard (users, admins, partners with promo codes). Payments go through Stripe and invoices through Abby.

What I delivered

  • Parser that extracts the naturalized people from the Journal Officiel PDFs
  • Automated daily decree retrieval from Légifrance (Playwright), checking DILA open data first
  • REZE number search and email alerts when a decree appears
  • Stripe payments and Abby invoice generation
  • Role-based dashboard: users, admins, partners and promo codes
  • GitHub Actions CI, Docker images and deployment on Dokploy

My role

I designed, built and shipped AlertJO, from decree ingestion to payments, including hosting.

AlertJO.fr project context

Naturalization applicants need to know whether their decree has been published in the Journal Officiel, which comes as PDFs. AlertJO checks their REZE number and emails them the day it appears.

Solution

A Next.js/TypeScript application on PostgreSQL (Drizzle): a parser for the Journal Officiel PDFs, daily decree retrieval with Playwright, REZE number search, a paid email alert (Stripe, Abby invoices) and a role-based dashboard.

Outcome

An online service: free REZE number search, a one-time-payment email alert, public statistics by department and country, and a 1,643-URL sitemap.

Technical challenge

Cloudflare blocks datacenter browsers on Légifrance. The scraper first checks DILA open data and only opens Chrome when a decree is new. It runs in a dedicated container with real Chrome on a virtual display.

Key features

  • Free REZE number search, paid email alert as a one-time payment
  • French and English site, language chosen by URL or cookie
  • Information pages: naturalization delays, glossary, FAQ, pricing, search by name, latest and next decree
  • Public statistics by department and country, computed from the decrees
  • Bilingual blog with AI-moderated comments
  • Email or Google sign-in, promo codes with partner statistics
AlertJO “How it works” section: REZE number entry, free search and alert
AlertJO pricing page: free search and one-time-payment email alert

A similar project?

Tell me what you need. I reply within 24 h.

© 2026 MK-Web. All rights reserved.