Skip to main content

Customer portal development

Let customers check for themselves, so your team can stop checking for them.

Acasa Labs does customer portal development: a secure login where your customers see their own orders, invoices, plans, and documents, and do the simple things themselves. We built the member app in GymFast, where members check in and see their invoices, on access rules enforced in the database.

The problem

Half your team's day is answering "where is my order?"

Customers call to ask what they owe, when the delivery is coming, or whether the document arrived. Someone looks it up in the system, takes a screenshot, and sends it on WhatsApp. Then the same customer calls next week. The information already exists; your customers just cannot reach it. Every one of those calls is time your team is not spending on the work that pays.

What we build

  1. 01

    A login for each customer

    Customers sign in and see only their own account: orders, invoices, plans, and documents, pulled from the system you already run.

  2. 02

    Self-service for the simple things

    Download an invoice, renew a plan, upload a document, or raise a request, without a call or an email to your team.

  3. 03

    Company accounts with several users

    For B2B customers, one company account with several people on it, each with the access their role needs.

  4. 04

    Your brand on it

    Your colours, your domain, and your name on the emails, so customers see your business and not a software vendor.

From production

Customer-facing logins we have built.

  • A member app in the gym's colours

    GymFast

    GymFast members check in with a QR code, follow their workout and diet plans, log workouts, and see their invoices, in an app themed in their own gym's colours.

  • Access enforced in the database

    GymFast

    From owner to member, GymFast's six role levels are enforced with row-level security in Postgres, not in app code, so a member can never load another member's records.

  • Organisations and seats

    SigmaCPM

    SigmaCPM runs on a multi-tenant backend with organisations, seats, and per-module entitlements, so each company sees its own projects and only the modules it pays for.

  • Isolation that is tested

    Pullsy

    Pullsy keeps each account's data apart with multi-tenant isolation covered by tests, and offers a REST API with keys for customers who want their data in their own tools.

Honest trade-offs

When a portal is not the answer

If customers only ask a few questions a month, a shared folder or an automatic status email does the job for far less. And if your ERP or accounting software already has a customer portal, switch that on first. A custom portal makes sense when the data sits in more than one system, when the vendor's portal is too clumsy for your customers to use, or when the portal is part of the product you sell.

What we reach for

  • Next.js
  • Postgres with row-level security
  • Supabase Auth
  • Django REST Framework
  • Stripe or Razorpay
  • Resend email

Proof

Shipped, not pitched.

  1. 01Our product

    GymFast

    Members, billing, classes, and workout plans for a gym, in one platform and three apps.

    Gym management software for gym owners and personal trainers. A web dashboard and a staff app run members, plans, invoices, enquiries, and classes; members get their own branded app; GymFast Pro gives independent trainers the same tools for their clients.

    Web dashboard · iOS · Android · Staff, member, and trainer apps

  2. 02Our product

    SigmaCPM

    Construction project management where AI reads the tender and shows its work.

    One project record for civil contractors, from tender to closeout: bids, contracts, RFIs, vendor quotes, and drawings. The AI pulls line items and bond terms out of tender PDFs and cites the page for every value.

    Web · API · Chrome extension

  3. 03Our product

    Pullsy

    Instagram analytics that keep the numbers Instagram throws away.

    Analytics for creators. Pullsy keeps insights Instagram discards after about 90 days, explains what each number means, grades the account, and turns it into a media kit a brand can verify.

    Web · iOS (native SwiftUI) · REST API

Questions

Customer portal questions we get asked.

Can the portal pull data from our existing system?

Usually, yes, through the system's API or a scheduled export. We check what your ERP, accounting, or order system can share before we design the portal around it.

How do you keep one customer from seeing another's data?

Access rules live in the database, not just in the screens, the way GymFast enforces its roles with row-level security. We test that rule directly, not only through the interface.

Can customers pay invoices in the portal?

Yes, through Stripe, Razorpay, or the gateway you already use, with the payment marked against the invoice automatically.

Do customers need to download an app?

No. A portal works in the browser on any phone or computer. We add a mobile app when customers use it often, as gym members do.

Can we put it on our own domain?

Yes, such as portal.yourcompany.com, with your branding and emails sent from your domain.

Customer portal development

Which questions do your customers ask most?

Thirty minutes on the calls your team takes every week. You leave with a written plan: scope, timeline, and a number.

Scope my customer portal

No pitch deck. You own the code from day one.

contact@acasalabs.com