Case study · App tier

Client & team portal
auth, projects, and intake flows

A production portal for clients and internal team — magic-link auth, role separation, project dashboards, structured consultation briefs, quote notifications, and serverless APIs backed by Supabase Postgres with row-level security.

TierApp — full-stack web app
SurfacesClient + team portals
StackSupabase · Vercel · Resend

The problem

After a client signs a SOW, email threads don't scale. Timelee needed a secure branded space where clients track projects and the team manages consultations, quotes, invites, and deliverables — without adopting a generic off-the-shelf CRM that doesn't fit the workflow.

The portal also had to demonstrate App tier capability to prospects evaluating whether timelee can build their product — not just their marketing site.

What we built

  • Client portal at /portal/ — sign-in, password setup, project dashboard, quote accept flow
  • Team workspace at /portal/team/ — internal views, client invites, quote creation and send
  • Site consultation brief — shareable /consultation/?t= links with autosave, multi-step wizard, and structured intake
  • Notification pipeline — quote-sent and quote-accepted emails via Resend API with team + client routing
  • Supabase Postgres — profiles, projects, quotes, consultations with RLS policies per role
  • Serverless APIs — consolidated routes on Vercel for contact, consultation CRUD, invites, and notify ops

Results

Clients get a branded front door after the marketing site converts them. Consultation links replace unstructured email intake — the team receives a complete brief with goals, design direction, feature checklist, and budget range before the first scoping call.

Quote accept auto-creates a project and notifies the team — the same auth + database + API + email pattern we ship on App tier engagements for customer portals, admin panels, and internal ops tools.

Similar build?

Need a portal with auth and a database?

Client portals, admin panels, and workflow apps — scoped in a written SOW, typical delivery 4–8 weeks.