← All work

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 ↓
Interactive explanation · illustrative sample

Keep the conversation with the request.

Switch roles, add a reply, and close a sample complaint with a resolution.

Request #014

Open
Customer

My example order arrived with one item missing.

Administrator

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.

Sources & project context
Next projectSecond Brain ↗