multi-tenant service desk
Ticketing platform
A self-hostable, multi-tenant ticketing platform for IT support, customer support and public-sector services, with an MCP server for AI agents.
Context
Help desks for IT teams, customer support and municipal services (smart meters, street lights) share the same core: tickets, assets, SLAs and automation, per organisation.
What I built
A monorepo (pnpm + Turborepo) with:
- API: NestJS on Fastify with a plain
tscbuild. - Web: React 19 + Vite + TypeScript.
- Data: Drizzle ORM on PostgreSQL + PostGIS, with location-aware assets.
- Shared contracts: Zod schemas, inferred types and the permission catalog, used by both API and web.
- Automation: rules executed on Redis + BullMQ.
- MCP server: a stdio proxy that exposes ticket-management tools to AI agents through the API’s native
/mcpendpoint.
Integration tests run against real Postgres and Redis with Testcontainers.