EMMANUEL_ARO_/>← Back to work

// CASE STUDY

Nativetalk Ticketing

A typed, role-based support-operations dashboard — one surface for triage, assignment, and resolution metrics.

Role
Design + Build (solo)
Year
2026
Context
Tech4mation · Nativetalk
Status
In production
Next.js (App Router)TypeScriptREST APIsVercel
01.

Overview

Nativetalk Ticketing is the support-operations dashboard for the Nativetalk stack. It gives a support operator one surface to triage customer inquiries, assign agents, and track how fast tickets actually close.

02.

The problem

Support requests arrived across scattered channels with no single queue. Operators context-switched between tools to find, claim, and resolve tickets — and managers had no reliable signal for how the team was performing.

There was no honest completion-rate number. "How are we doing?" could only be answered by manually counting, which meant it rarely got answered at all.

03.

My approach

I designed it as a single operator surface backed by a typed API contract. Every ticket, agent, and status transition is a typed entity end-to-end — the dashboard and the backend share one schema, so a malformed payload fails at the boundary instead of corrupting a view.

Role-based access separates admin operators from agents: capabilities are gated on the server and mirrored in the UI, so the interface never offers an action the caller can't actually perform.

04.

Architecture decisions

Typed contract first — I modelled the ticket lifecycle as explicit states before writing a single view, so the UI could only ever render a state the system actually supports.

Server-derived metrics — completion rate and throughput are computed server-side and surfaced in one overview panel. Managers get a single number they can trust, not a spreadsheet.

Stateless views — each screen derives from server state with no competing client-side source of truth, which removes a whole class of drift bugs.

05.

Outcome

Operators now triage from one queue instead of several tools. Assignment is a single action. Completion-rate metrics are visible in the same view as the work, with no separate report to run.

The dashboard is in production on the Nativetalk stack and is the surface support runs on day to day.

View live View code ← All projects