Engineering a B2B Customer Portal with Role-Based AccessEngineering a B2B Customer Portal with Role-Based Access
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
The engineering side of a B2B customer portal — designed by [@Anna Peredelskaia ]
The portal brings license management, product training, paid certifications and technical support into one place for a company's B2B clients. Anna designed the experience; I built the MVP.
My main focus was access control. Each client company has several roles, and every role should see and do only what it needs.
• Auth flow: work-email check → client-domain match → MFA • Role-based UI across 7+ roles — employee, manager, billing, HR, admin, super admin, client admin • Roles stored as custom claims, set by a backend function only after it validates the data • Every protected action checked against both the auth claims and the stored record • Writes only through API routes with verification and idempotency; database rules as a second layer • Paid certifications on Stripe: verified webhooks, deduplicated events, idempotent processing
Stack: Next.js, TypeScript, Firebase Auth, Firestore, Cloud Functions, Stripe.
Good design makes a portal easy to use. Solid access control makes it safe to use.
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started