Customer portal development: self-service that takes the load off your support team and becomes a sales channel
A self-service contact costs about $1.84; an agent-handled contact costs $13.50 — and for B2B companies that offer self-service, that channel is now their highest-revenue sales channel. We build customer portals on Next.js, Supabase, and Keycloak: EU-hosted, connected to your ERP or CRM via SSO and APIs, and live as an MVP within a few weeks. Before we build anything, we give you an honest assessment of whether custom development pays off for you — or whether a SaaS solution is all you need.
We're a senior-first team based in Berlin, and we treat a customer portal not as an IT project but as a business case: ticket deflection on the cost side, self-service as a revenue channel on the sales side. The stack — Next.js, Supabase, Keycloak — is open source and EU-hosted, with no license fees that scale with your user count. And our price ranges are published right on this page, not hidden behind a contact form.
A custom portal isn't always the right answer. If standard support without deep ERP integration is enough, Zendesk or another SaaS solution is the more economical choice — and we'll tell you that in the first call, even if it costs us the deal. That's why every project starts with a make-or-buy check, and why you'll find the decision table right here on this page.








































































Terms you should know
Definition
- Customer portal
- A secure self-service area for your existing customers: login, documents, orders, invoices, tickets — connected to your ERP and CRM so customers can handle requests themselves that today require email and phone calls. It's not a marketing website and not an internal web app: the users are your customers, not your employees.
Definition
- Ticket deflection
- The share of inquiries the portal resolves instead of your support team — the central ROI lever of every portal project. Well-executed self-service achieves a 25–45% reduction in tickets, at a contact cost of about $1.84 for self-service versus $13.50 per agent-handled contact. Run those numbers against your own ticket volume and you have your business case.
Definition
- SSO (single sign-on)
- One login for the portal and every connected system — in our stack via Keycloak, open source and self-hosted in the EU. SSO is the prerequisite for B2B reality: company accounts with multiple users, roles, and approval levels. Tenant isolation at the database layer is handled by Supabase Row Level Security.
The business case is well documented: according to the 2025 support cost benchmarks from LiveChatAI, a self-service contact costs about $1.84 versus $13.50 for an agent-handled contact — and well-executed self-service achieves a 25–45% reduction in tickets. And self-service has long been about more than cutting costs: among B2B companies with e-commerce and self-service offerings, that channel is the strongest sales channel at 34% of revenue according to McKinsey's B2B Pulse 2024, and 39% of buyers spend more than $500,000 per order via self-service. Two more numbers shape our decisions: according to Bitkom 2025, 82% of German companies want hyperscalers from Germany or Europe, and 37% would use a purely German cloud service even with drawbacks — which is why we host in the EU. And according to Gartner (March 2026), 67% of B2B buyers prefer a buying process without sales contact — which is why pricing, comparisons, and FAQs are published openly on this page.
Security & compliance
Your customers trust you with sensitive data. We take that responsibility seriously.
Whether it's your data protection officer, your IT security team or a major customer's procurement: when security questions come up, you have solid answers. We build in data protection and security from day one and follow the principles of the Twelve-Factor App. That makes approvals and audits easier and gives you the technical foundation to meet requirements under GDPR, ISO 27001 or HIPAA.
Frameworks whose technical requirements we implement in our projects
- GDPR
- ISO 27001
- HIPAA
- NIS2
Make or buy: purchase SaaS, build custom — or go hybrid?
Not every company should have a customer portal built. This table is the same decision framework we use in the first call — including the column that earns us no revenue.
| Criterion | SaaS portal software (Zendesk & co.) | Custom customer portal (Next.js + Supabase + Keycloak) | Hybrid (SaaS support + custom portal) |
|---|---|---|---|
| Time to live | Days to a few weeks — configuration instead of development | MVP in 6–12 weeks, full portal correspondingly longer | SaaS immediately, portal features added step by step |
| Cost in year one and at scale | Low entry price, then growth via seats and storage — often by a factor of 3–5 as you scale | MVP €8,000–20,000, with ERP integration €20,000–60,000; after that, near-constant infrastructure costs with no license scaling | SaaS licenses plus the portal investment; the license share stays small as core features move into the portal |
| Depth of ERP/CRM integration | Standard connectors; quickly hit their limits with custom logic and legacy systems | As deep as you need — orders, invoices, and master data straight from your systems | Support processes in SaaS, ERP depth in the custom portal |
| Branding and UX | Template with logo and color customization | Fully your brand, your processes, your user journeys | Inconsistent — two systems, two interfaces |
| Data sovereignty and EU hosting | Depends on the vendor, often US cloud | Open source, EU-hosted, full data sovereignty | Split — part of your customer data sits with the SaaS vendor |
| Ongoing effort | Low — the vendor handles updates and operations | Operations, monitoring, and updates required — available from us as a managed operations package | Both, at reduced scale |
| When is this the right choice? | When standard support without ERP depth is enough — then buy SaaS and skip the development cost | When self-service needs to run on your ERP data and the portal becomes part of your value creation | When tickets are well served in SaaS, but orders, documents, and invoices belong in the portal |
Time to live
- SaaS portal software (Zendesk & co.)
- Days to a few weeks — configuration instead of development
- Custom customer portal (Next.js + Supabase + Keycloak)
- MVP in 6–12 weeks, full portal correspondingly longer
- Hybrid (SaaS support + custom portal)
- SaaS immediately, portal features added step by step
Cost in year one and at scale
- SaaS portal software (Zendesk & co.)
- Low entry price, then growth via seats and storage — often by a factor of 3–5 as you scale
- Custom customer portal (Next.js + Supabase + Keycloak)
- MVP €8,000–20,000, with ERP integration €20,000–60,000; after that, near-constant infrastructure costs with no license scaling
- Hybrid (SaaS support + custom portal)
- SaaS licenses plus the portal investment; the license share stays small as core features move into the portal
Depth of ERP/CRM integration
- SaaS portal software (Zendesk & co.)
- Standard connectors; quickly hit their limits with custom logic and legacy systems
- Custom customer portal (Next.js + Supabase + Keycloak)
- As deep as you need — orders, invoices, and master data straight from your systems
- Hybrid (SaaS support + custom portal)
- Support processes in SaaS, ERP depth in the custom portal
Branding and UX
- SaaS portal software (Zendesk & co.)
- Template with logo and color customization
- Custom customer portal (Next.js + Supabase + Keycloak)
- Fully your brand, your processes, your user journeys
- Hybrid (SaaS support + custom portal)
- Inconsistent — two systems, two interfaces
Data sovereignty and EU hosting
- SaaS portal software (Zendesk & co.)
- Depends on the vendor, often US cloud
- Custom customer portal (Next.js + Supabase + Keycloak)
- Open source, EU-hosted, full data sovereignty
- Hybrid (SaaS support + custom portal)
- Split — part of your customer data sits with the SaaS vendor
Ongoing effort
- SaaS portal software (Zendesk & co.)
- Low — the vendor handles updates and operations
- Custom customer portal (Next.js + Supabase + Keycloak)
- Operations, monitoring, and updates required — available from us as a managed operations package
- Hybrid (SaaS support + custom portal)
- Both, at reduced scale
When is this the right choice?
- SaaS portal software (Zendesk & co.)
- When standard support without ERP depth is enough — then buy SaaS and skip the development cost
- Custom customer portal (Next.js + Supabase + Keycloak)
- When self-service needs to run on your ERP data and the portal becomes part of your value creation
- Hybrid (SaaS support + custom portal)
- When tickets are well served in SaaS, but orders, documents, and invoices belong in the portal
Technically, a customer portal is a subclass of a web app — the fork in the road is the use case. If the users are your own employees and the goal is internal processes or replacing spreadsheets, you're looking for our web app services. If there's no login at the center but lead generation instead, you need a B2B website, not a portal. And if the portal is meant to sit as a modern layer in front of a legacy ERP, our guide Next.js as an integration layer for legacy systems shows how that path works without touching the core system.
What you can buy from us
Three clearly scoped entry points — from a validating MVP to a multi-tenant platform with managed operations.
Portal MVP
Live within a few weeks: you test against real user behavior whether the big investment pays off.
Discovery with a make-or-buy check
You know up front whether building or buying fits better.
Keycloak login with a basic role model
First self-service feature
Customers look up things like order status or documents themselves.
EU hosting from day one
Customer portal with ERP/CRM integration
The complete portal, connected to your existing systems.
Company accounts with multiple users
With roles and approval levels for each user.
Tenant isolation in the database
Via Supabase Row Level Security: each customer sees only their own data.
ERP and CRM integrations
Orders, invoices and master data from your systems.
SSO for adjacent systems too
Portal platform and operations
One portal for multiple brands, countries or tenants, run without hiring your own senior engineer.
Multi-tenancy
Portal in front of the legacy ERP
Strangler pattern: your ERP keeps running and can be replaced step by step.
Operations and monitoring
Your portal runs on EU infrastructure and is monitored.
Predictable ongoing development
On a fixed monthly retainer.
Packages and pricing
We publish price ranges before you have to ask. Not because every project costs the same, but because you can't make a make-or-buy decision without numbers — and because we'd rather be ruled out before the first call than after it.
| Package | Scope | Price range |
|---|---|---|
| Portal MVP (login + 1–2 self-service features) | Keycloak login, first self-service feature, basic roles, EU hosting, 6–12 weeks | €8,000–20,000 |
| Customer portal with roles/permissions and first ERP integration | Company accounts, role and approval model, RLS tenant isolation, ERP/CRM interface, SSO | €20,000–60,000 |
| Portal platform (multiple tenants/brands, multiple integrations) | Multi-tenancy, multiple systems connected, legacy integration layer, rollout across multiple countries | €60,000–150,000 |
| Operations and hosting (EU) | Hetzner/EU hosting, monitoring, updates, Supabase/Keycloak operations | Infrastructure €20–50/month (high availability €150–400) plus 2–5 hours of operations/month at approx. €125/h; 3-year TCO of the stack: €40,000–80,000 |
| Ongoing development via retainer | Continuous build-out, quarterly prioritization, alternative to a senior hire (€145,000–200,000 in year one) | €4,000–12,000/month |
Portal MVP (login + 1–2 self-service features)
- Scope
- Keycloak login, first self-service feature, basic roles, EU hosting, 6–12 weeks
- Price range
- €8,000–20,000
Customer portal with roles/permissions and first ERP integration
- Scope
- Company accounts, role and approval model, RLS tenant isolation, ERP/CRM interface, SSO
- Price range
- €20,000–60,000
Portal platform (multiple tenants/brands, multiple integrations)
- Scope
- Multi-tenancy, multiple systems connected, legacy integration layer, rollout across multiple countries
- Price range
- €60,000–150,000
Operations and hosting (EU)
- Scope
- Hetzner/EU hosting, monitoring, updates, Supabase/Keycloak operations
- Price range
- Infrastructure €20–50/month (high availability €150–400) plus 2–5 hours of operations/month at approx. €125/h; 3-year TCO of the stack: €40,000–80,000
Ongoing development via retainer
- Scope
- Continuous build-out, quarterly prioritization, alternative to a senior hire (€145,000–200,000 in year one)
- Price range
- €4,000–12,000/month
Who works on your project
Our senior team in Berlin, from the first draft to production. You talk directly to the people who write your code.
Meet the teamFAQ
Answers for the buying committee — including the uncomfortable ones.