NXStage Platform
The core backend behind a digital agency's business intelligence, social, and support tooling.
2024 — present · Lead backend engineer. I've written most of the platform and set the module conventions the rest of the team builds against.
The problem
Reporting, social media management, customer support and research each started as its own tool. Keeping them separate meant four sets of auth, four data models, and no way to answer a question that crossed two of them.
What it does
One layered Node and TypeScript platform — controllers, services, repositories, Prisma — with a standard module shape every feature follows, and scheduled work driven externally rather than from inside the process.
Engineering decisions
One module shape, repeated everywhere
Every feature is the same four layers in the same order, with the same naming. It's boring on purpose. A standardized shape means a new module is mostly a known quantity, reviews look at the logic instead of the layout, and nobody has to relearn where things live when they move between features.
Scheduled work lives outside the application
Recurring jobs are plain authenticated endpoints triggered by an external scheduler, not timers inside the process. Retries, alerting and history come from the scheduler for free, the work is reproducible by calling the endpoint directly, and running more than one instance of the app doesn't run the same job twice.
Where it landed
- One platform behind business intelligence, social, support and research tooling
- Module conventions the rest of the backend team builds against
- Continuously developed since 2024