ClosedBrackets
From the studio / Client portal

A client portal, with your name on it.

Give your agency’s clients one place for requests, approvals, project updates, and billing. License the system we built for our studio and run it under your own brand.

Software for agencies with their own delivery team. Includes the frontend and backend source; you manage hosting and setup.

Inside the application

Three views of the same work.

Client request workspace showing a mobile checkout request, conversation with a developer, and progress timeline.

Requests and progress, in one conversation.

Clients can follow a request, read developer replies, and see where the work stands.

Actual portal interface · Sample data
Select the image to view full size.

Licensing

Choose how you’ll use it.

One-time source licenses. Hosting and third-party services are managed and paid for separately.

Single license

$1,290one-time

One company, one deployment. Rebrand it and run it as your own.

  • Full source, both repos
  • White-label branding config
  • Deployment guide
  • 6 months of updates
  • Email support

Agency license

$2,490one-time

Deploy a branded instance for every client you manage.

  • Everything in Single
  • Unlimited client deployments
  • 12 months of updates
  • Install & handover call
  • Priority support

Exclusive buyout

Let's talknegotiated

Full IP transfer. We hand over the code and stop licensing it.

  • Complete ownership
  • Repos, history, and assets
  • We retire all other licenses
  • Migration support
  • Optional build retainer
What’s included & technical setup
  • Both repositories — portal frontend and API backend
  • PostgreSQL schema with all 40 migrations
  • Seed script with demo client, developer, and admin accounts
  • Shared branding config for name, logo, colours, and brand links
  • Environment variable reference for both apps
  • Deployment walkthrough for Vercel + managed Postgres
  • Stripe setup guide including webhook configuration

Built to run on your infrastructure.

Next.js and React on the frontend, with a Node.js, Express, and PostgreSQL backend. Stripe handles subscriptions and payments.

Set your name, logo, colours, and brand links in the shared config. Configure your domain, email, and payment credentials during deployment.

Before you decide

A few practical details.

We can walk through the application and talk about how it fits your team.

Book a walkthrough
Is this a template or a working product?

A working product. It was built as ClosedBrackets’ own client portal and runs the full flow end to end — onboarding, projects, requests, quotes, tickets, support, subscriptions, and Stripe billing against a real Postgres database. A walkthrough shows the application in use.

How much work is rebranding it?

Name, logo, colours, and brand links are set in a shared branding config. Hosting, your domain, email, and Stripe credentials are configured during deployment.

Do I get the backend too?

Yes. Both repositories are included — the Next.js portal and the Express/Postgres API. You host the application yourself and configure services such as your database, email, and Stripe account.

Can I resell it to my own clients?

The Agency license covers deploying branded instances for the clients you manage. Reselling it as a competing product is not included — that is what the exclusive buyout is for.

What does support look like after purchase?

Email support for setup and deployment questions, plus code updates for the period covered by your license. The Agency license adds a live install and handover call. We also take on paid customisation if you want changes made for you.

Why are you licensing something you built for yourselves?

We built it for our own client work and are making it available to other agencies and studios with similar workflows. A walkthrough is a good way to check whether it fits yours.