Skip to content
[ PRJ-05 ]Personal · 2026

Application tracker

A private tool that tracks each application: clicks, opens, replies, follow-ups.

  • Node.js
  • TypeScript
  • PostgreSQL
  • Cloudflare Workers
  • Docker

Context

A private tool to track my applications: where each send stands, who replied, what to follow up. I wanted to see what actually happens after sending, without relying on a third-party service.

What I did

  • Wrote a Node.js and TypeScript API (Fastify) backed by PostgreSQL.
  • Tracked short-link clicks and pixel opens with Cloudflare Workers and a message queue.
  • Signed every event sent to the API (HMAC), so no third party can inject one.
  • Protected the admin interface with Cloudflare Access, with server-side token verification.
  • Built the API for a Kanban-style tracking board: companies, contacts, applications, manual card moves.

Architecture

  • Edge: redirect and pixel Workers, a message queue, key-value storage for short links.
  • Server: API and PostgreSQL as containers, behind a Cloudflare tunnel, with no open port.
  • Personal data: no IP address stored in clear, and a right to be forgotten that deletes a contact in cascade.

Status

Event tracking runs in production. The board interface is under development.

Next project

PRJ-012025· Personal

DHV Nettoyage Cryogénique website

Design of a showcase website for a cryogenic cleaning business.

CDNHTMLCSSGit
View project