Customer support portal / Web
Keeping a complaint and its conversation together.
A complaints workflow with customer and administrator views, threaded replies, status filtering, and resolution details.
- My role
- Full-stack development
- When
- 2025
- Built with
- Next.js · TypeScript · Supabase · Zod
Explore how it works
Try it yourself ↓Keep the conversation with the request.
Switch roles, add a reply, and close a sample complaint with a resolution.
Request #014
OpenMy example order arrived with one item missing.
Thanks for the details. I’ll check the shipment record.
A local model of the customer and administrator workflow. Messages are sample data and are not sent to a support team.
The challenge
A support request needs more than a submission form: customers and administrators need a shared record of the issue, the replies, and how it was resolved. This time-constrained prototype focused on that complete loop.
How I built it
Give each role a useful view
I built customer and administrator interfaces over complaint records, conversations, and messages, with status filters for navigating the work.
Carry the request through resolution
The workflow supports complaint submission, threaded support replies, and closure with resolution details.
Separate validation from the interface
Zod validation models and dedicated API handlers structure the complaints and conversation operations backed by Supabase.
What came out of it
A full-stack support-workflow prototype, developed within the four-hour constraint documented in the repository. The implementation uses request-based conversation updates.