Services - Client portal development by one senior engineer, week by week.
Your clients are emailing spreadsheets and chasing you for updates because there's no portal to log into. Client portal development is mostly the unglamorous parts done right: real auth, per-client data isolation, roles, documents, and billing. This is one senior, founder-led engineer who builds that customer portal into your product and ships it week by week.
Plans tailored to the build
One senior engineer, one priority at a time
One senior, founder-led engineer takes this build week by week and ships production-ready code as pull requests you review and merge. Time and cost vary by plan and scope, and we’ll cover both before you start.
What's included
- Secure authentication and per-client access: sign-in, invitations, password reset, and strict data isolation so each client sees only their own data, enforced at the database layer, not just the UI.
- Roles and permissions — client, team member, admin — so the right people see the right things and you can run the portal without a developer in the loop.
- The core portal surface: a client dashboard with the status, documents, messages, and records your customers keep asking you for, branded as part of your product.
- Document and file handling: upload, storage, access control, and download, wired to S3 or your storage of choice with the permission checks that keep one client's files away from another's.
- Billing and invoices in the portal where it fits: Stripe subscriptions or invoices, plan and payment status, and self-serve billing so clients stop emailing you about it.
- Notifications and an admin view so your team can manage clients, invite users, and see activity — the operational layer that makes the portal usable day to day.
How we build it, week by week
One priority at a time, shipped in reviewable increments you merge as they land — not one big drop at the end.
Week 1 — scope and secure the foundation
We map the roles and the exact data each client should see, then stand up auth and per-client data isolation first — the part that's expensive to retrofit — with the repo and deploy pipeline live.
Weeks 2–3 — the client dashboard
The screens your clients log in for: status, records, documents, and messaging, built and merged as PRs you review, branded to sit inside your product.
Weeks 3–4 — billing, admin, and self-serve
Invoices or subscriptions where they belong, plus the admin surface and notifications your team needs to invite clients and run the portal without a developer.
Ongoing — extend per client feedback
As clients use it, new fields, reports, and roles become the next priorities on the board, shipped weekly for as long as the build needs it.
Stack
- Next.js / React
- Node / Express
- PostgreSQL (row-level isolation)
- Auth.js
- S3-compatible storage
- Stripe
Is this the right build for you?
A good fit when
- You need a secure, branded client portal or customer dashboard built into your product, owned by one senior engineer end to end.
- You care about per-client data isolation and permissions being correct, because clients' data must never leak to each other.
- You want production code in your repo, not a rigid off-the-shelf portal product you can't shape to your workflow.
Not a fit when
- A generic off-the-shelf portal or SaaS template already does exactly what you need — buy that instead.
- You need a team building many modules in parallel against a hard deadline — that's an agency.
- You want a static brochure site with a login bolted on and no real per-client data behind it.
Builds like this
Real month-plus builds you can read end to end, delivered on the same subscription.
Why on a subscription
A portal lands in phases: a heavy first build to get auth and isolation right, then a steady trickle of new fields, roles, and reports as clients ask. A flexible monthly plan you can pause covers the build and keeps a senior engineer on tap for the follow-ons, without a salary to carry between them.
Frequently asked questions
- How do you keep one client from seeing another client's data?
- Isolation is enforced at the data layer, not just hidden in the UI. Every query is scoped to the signed-in client, sensitive tables use row-level checks, and access is verified server-side on every request. It's the first thing we build and the thing we're most careful about, because it's the failure that actually hurts.
- Can you build the portal into our existing app?
- Yes. We work in your repo, match your stack and conventions, and add the portal as part of your product rather than a bolted-on separate app. Everything ships as PRs you review and merge.
- Can clients pay or see invoices in the portal?
- Yes, where it fits. We wire Stripe subscriptions or invoices into the portal so clients see plan and payment status and can self-serve billing, which cuts the back-and-forth your team handles today.
- Do we own it and can we run it without you?
- Fully. It's your repo, your conventions, standard auth and storage — no proprietary wrapper. The admin surface lets your team invite clients and manage access without a developer, and when the subscription ends you keep every line.
Got a project? Let's ship it.
3 spots open. Tell us what you need shipped. We’ll match the plan and timeline to the work on a short sales call, then deliver it in reviewable increments.