Context
In a small company shipping several products, "everything that runs in the background" scatters quickly: payment-provider dashboards, server monitoring, AI-provider invoices, backups, customer notifications. BackOffice gathers all of it in one internal panel: payment flows, server status, AI usage and cost, the alerting system and backup jobs for every service, FLY AI and Export AI first among them.
I wrote the project end to end on my own: data model, integrations, scheduled jobs and the interface.
Constraints
- A false-positive alert is the death of an alerting system; thresholds and severity levels must be tunable.
- Access to payment and customer data must be role-based and auditable.
- Adding a new service must be configuration, not a code change.
Architecture
The backend is Node.js + PostgreSQL (Prisma); server metrics come from Prometheus and live status streams to the panel over WebSocket/SSE. Alerts fan out to Telegram, WhatsApp and email by severity.
TODO: To be extracted from the source: how collectors work (polling / webhooks), the queue, where backups go.
