The build
A Flutter field app and a Flutter admin console backed by a self-hosted Node.js / Express server that uses the Firebase Admin SDK for push notifications and runs reconciliation on a cron — no Blaze plan or Cloud Functions required.
Why self-hosted
Running push and reconciliation on a VPS with the Admin SDK keeps costs predictable and the whole system under one roof — a pragmatic choice for a business tool.