PROBLEM
Accounting firms run on spreadsheets, WhatsApp threads and memory. Client records, engagement status and filing deadlines live in different heads, and generic CRMs assume a sales pipeline that an audit practice does not have.
THINKING
The unit is not a deal, it is an engagement. So the whole system is modelled around clients, periods and sign-offs instead of stages and quotas. Nothing about it pretends to be industry-agnostic.
ARCHITECTURE
Next.js front end, Node API, MongoDB for client and engagement records, Redis for sessions and background jobs. Self-hosted end to end: Docker on a hardened Ubuntu VPS, Nginx, Cloudflare in front, role-scoped auth and no client data handed to third-party services.
OUTCOME
In production with an auditing firm. Client history, engagement state and deadlines are now a single source of truth instead of a shared drive — and the data never leaves infrastructure we control.
—
FIRMS ONBOARDED
—
ACTIVE USERS
—
HOURS SAVED / MONTH