DocuForge: Adding AI to my paperless-ngx Workflow
How I went from existing paperless-ngx AI tools, to an overengineered 4090-powered orchestrator, to building my own lightweight OCR and tagging pipeline.
Six years with TypeScript, NestJS and PostgreSQL. Technical lead at Stiilt since 2023. I design backend systems that hold up in production: queues, retries, idempotency, observability and business-critical integrations.
I grew up in the UK and now live in the Gers, in south-west France. I have worked fully remote for the last three years.
My day job is designing distributed backend systems: multi-tenant SaaS platforms, queues and workers, external integrations, and services that need to stay reliable in production. I joined Stiilt as a junior developer in 2020 and grew into the technical lead role in 2023.
Outside of work I run a small homelab, photograph the night sky with my own telescope setup, and play music, badly but with enthusiasm.
Automated parking-fine management platform integrated with France's national traffic authority (ANTAI), on a multi-tenant architecture.
Web and mobile vehicle-leasing application covering the full customer lifecycle: subscription, contract, inspection, vehicle access and fleet tracking.
Set backend standards across the company and supported the team as it grew.
Self-hosting is how I learn ops on hardware I own. The setup grows and shrinks; this is a peek at what's running today.
// things move around a lot; read the latest State of the Lab here
The sky around my home in the Gers is around Bortle 3. I photograph deep-sky objects with a small refractor on a tracking mount, then stack the frames in PixInsight. It is slow, precise work, with a very different rhythm from software.
How I went from existing paperless-ngx AI tools, to an overengineered 4090-powered orchestrator, to building my own lightweight OCR and tagging pipeline.
A technical tour of my current homelab: network segmentation, Proxmox, Docker, backups, GitOps, observability, and a few local AI experiments.
Resolving Q0957+561, the first confirmed gravitational lens, with a small refractor, a 533-based camera, and a bit of 2x drizzle.
My next professional chapter is taking shape. I'm always happy to connect and talk about distributed systems, SaaS platforms and backend architecture.