A multi-tenant helpdesk and ticketing platform that turns every resolved ticket into searchable knowledge-base content.
My role: Software Developer
- Problem
- Small support teams lose institutional knowledge fast; the same issues get re-solved over and over because past resolutions live only in closed tickets, with no searchable record and no easy way for non-admins to see team workload or SLA status.
- Approach
- Built a multi-tenant Next.js app from scratch around a structured ticket-closure form (root cause, steps taken, prevention) that feeds directly into a one-click knowledge-base publish flow, with role-based access (User/Technician/Admin, re-checked server-side on every action), per-category SLA policies, and a separate platform-admin layer for operating across every tenant institution.
- Solution
- Delivered a full helpdesk stack: ticket lifecycle with live SLA badges and a full audit log, threaded comments with @-mentions, real-time-feeling team chat, an admin console for users/categories/SLA rules, an Insights analytics dashboard (CSAT, SLA compliance, CSV/PDF export), and a Platform Admin layer with cross-institution stats, suspend/delete, and read-only session impersonation for support.
- Impact
- Shipped and running in production on Vercel + Neon Postgres with full CI/CD via GitHub Actions. Every push to master deploys automatically, and every pull request gets its own live preview deployment before merge.
- Next.js 15
- TypeScript
- PostgreSQL
- Prisma
- NextAuth v5
- Tailwind CSS v4
