Skip to content

Enterprise application development

Enterprise Next.js Development

Next.js for organisations with procurement, compliance and an internal platform team - SSO, data residency, self-hosting, audit trails, and a handover that survives the engagement ending.

"Enterprise" is usually an adjective on a sales page. Here it means a specific set of constraints, and if none of them apply to you then application development is the same work without the overhead.

These are the constraints we mean.

Identity that your IT department already runs

SSO against the directory you have - Entra ID, Okta, Google Workspace, or a SAML provider nobody has upgraded since 2019. SCIM provisioning so leavers lose access when HR says they left, not when someone remembers.

Role mapping comes from the directory's groups rather than a table in your application, because the moment your app owns the roles, two systems own them and they drift. Sessions are short and refresh server-side; the token never reaches the browser.

Data that has to stay where you said it would

Your customers' contracts say where their data lives, and a platform's default region is not an answer to that. Self-hosting is the usual conclusion: output: 'standalone' in a container, in your cluster, in your region, beside your database.

That path has four specific costs, and we cover them rather than discovering them - image optimisation, a shared cache for revalidation across replicas, middleware that no longer runs at the edge, and a proxy that must not buffer streaming responses. It is written up in full in self-hosting Next.js, and what stops working.

Evidence, because someone will ask for it

Audit trails on the mutations that matter, with the actor, the before and the after. A Content Security Policy with a nonce rather than unsafe-inline. Dependency provenance in the build, so a supply-chain question has an answer. Accessibility tested rather than asserted, because public-sector and large-enterprise procurement asks for a statement and someone eventually checks it.

None of this is exotic. It is all much cheaper to build in than to add after a security review has produced a list.

Working inside your process

We work in your repository, against your branch policy, with your review gates. Not our repo handed over at the end, and not a parallel process that your platform team has to learn.

Where you have a design system, we build against it. Where you have a platform team, they are in the pull requests from the first week, because the measure of this work is whether your engineers can keep it after we are gone - which is the same standard as code you can keep, applied to an organisation rather than a team.

What slows these projects down

Honestly: not the engineering. It is waiting on a staging environment, on directory access, on a security questionnaire, on the one person who can approve a firewall rule.

We plan around that rather than pretending it will not happen. Phases are scoped so that a blocked dependency stops one phase and not the project, and we will tell you in week one which approvals to start early, because they are usually the critical path.