All projects

StackMSP

A live platform for managed service providers. Each MSP gets a subdomain for clients, contracts, invoices, proposals, support, and device management, with a Go Windows agent that checks in, runs jobs, and installs patches.

Role
Sole engineer (contract)
Year
2025 - Present
Stack
  • React
  • Vite
  • Redux Toolkit
  • Node.js
  • TypeORM
  • MySQL
  • Go
  • Redis
  • BullMQ
  • Stripe
  • Docker
StackMSP homepage

Context

MSPs were running client management, billing, and endpoint work across disconnected tools. Onboarding a client or a device meant repeating the same steps in every system, with no shared view of contracts, invoices, or the machines under management.

What I built

A Node.js, Express, and TypeORM API on MySQL, with Redis and BullMQ for background work and Socket.io for live updates. The tenant and customer portals are React 19 and Vite with Redux Toolkit; the marketing site is Next.js. The RMM agent is Go: it enrolls a Windows machine, signs every request, runs jobs, and reports Windows Update state. Stripe handles subscriptions; QuickBooks is connected over OAuth with tokens encrypted at rest.

Details

  • Subdomain-per-tenant PSA: clients, contracts, invoices, proposals, a customer portal, and a platform admin console
  • Go Windows agent with per-request RSA signatures, signed jobs, and Windows Update scan and install, including a patch-policy and audit trail
  • Workflows for onboarding and offboarding, a script catalog tenants can clone, and Ingram Micro product sync
  • Stripe billing, QuickBooks OAuth, tenant-scoped RBAC, and a 170-test API suite covering auth, tenancy, and agent signing

Status

Live at stackmsp.com. Ongoing contract; I am the only engineer across the API, portals, landing site, and agent.