✓ 30 hours of manual client updates eliminated every week
✓ Support tickets down 35%
✓ Client NPS up from 31 to 58
Before → after
| Metric | Before | After |
|---|---|---|
| Weekly manual status updates | ~30h | 0h |
| Support tickets | baseline | −35% |
| Client NPS | 31 | 58 |
A B2B services company ran its client relationships over email. Every status update, document request, and question meant another back-and-forth, and account managers spent their week on manual admin.
The challenge
- No single place for clients to see project status or documents.
- Account managers spent ~30 hours a week sending manual updates.
- Status lived in spreadsheets, email threads, and people’s heads.
- Clients couldn’t self-serve, so every question became a ticket.
What we built
- Customer portal built a self-serve web app with login, project status, milestones, and documents.
- Messaging added threaded client-team messaging so context stopped living in email.
- Backend wired Supabase for auth and data, hosted on Cloud Run.
- Automation connected the portal to email notifications so clients get updates the moment things change.
- Rollout onboarded every active client and trained the team in a week.
The results
Manual client updates dropped from ~30 hours a week to zero, support tickets fell 35%, and client NPS jumped from 31 to 58. Account managers now spend their time on the work, not the admin around it.
The takeaway
A portal isn’t just a nicer interface, it removes the repetitive work that quietly eats a services business alive.
Stack AstroSupabaseCloud RunAuthEmail
“
We got 30 hours a week back, and clients finally feel like they have a window into their project.