←︎ Back to work Product Design · Full-Stack Web

Client Portal

A fully custom client management system — portal, admin, payments, contracts, and files — built end-to-end.

Year 2026 · Role Designer + Developer · Tools Next.js, TypeScript, Prisma, PostgreSQL, Stripe, AWS S3, Resend, Railway · View live ↗︎
Client Portal — preview
Client Portal — preview
Client Portal — preview
Client Portal — preview

The project

Most freelancers cobble together five different tools to run their business — and it shows. I built one thing that does all of it. The TRS Client Portal is a full-stack web app with two sides: a client-facing portal where every client has their own private space to track project status, sign contracts, pay invoices, access files, and message the studio — and a full admin panel where I manage clients, leads, quotes, projects, approvals, and settings. Built on Next.js 16 with Prisma and PostgreSQL, Stripe for payments, AWS S3 for file storage, and Resend for transactional email. Fully branded, fully self-hosted on Railway.

Client Portal — preview
Client Portal — preview
Client Portal — preview

How I helped

  • Client portal: dashboard, project status tracker, contracts, invoices, files, messages, and approvals
  • Admin panel: full CRM with leads, clients, quotes, projects, contracts, invoices, and settings
  • Stripe integration for direct invoice payment from within the portal
  • AWS S3 file storage for secure deliverable handoff and shared assets
  • NextAuth v5 with role-based access — clients only ever see their own data
  • Resend for transactional emails (invites, invoice notifications, approvals)
  • Fully responsive — pixel-perfect on desktop and mobile
  • Deployed on Railway with PostgreSQL — zero per-seat fees, full ownership
Next case study
Pulse

Pulse

Product Design · Internal Tool