Skip to content
Eliud Munyala
← All work

ContentHub multi-tenant document platform

Document capture, classification and case handling for organisations, with SSO and a Go job runner.

Role
Lead engineer
Period
2026
Sector
Document management
Status
In production
Stack
  • Django
  • Go
  • River
  • FastAPI
  • PostgreSQL
  • Zitadel

The problem

Teams receive invoices, claims and letters by email and upload, and need them typed, filed and routed without manual sorting.

What I built

  • Replaced Celery and Redis with a Go job runner (River) that keeps jobs in PostgreSQL.
  • Python classification and extraction service with fallback tiers and a circuit breaker, so a model outage degrades gracefully.
  • Desktop folder-sync client (Go, Wails, Svelte) with notarised macOS builds.

Outcome

  • Inbound documents are typed, filed into the right case and their fields extracted automatically.
Visit ContentHub

Updated 2026-10-17

Need something like this?

Tell me what you're working on and I'll reply within one working day.

Start a conversation