FutureGenSystems
ServicesPrivate AIMigrateProjectsProcessAbout
Book a scoping call →
FutureGenSystems
ServicesPrivate AIMigrateProjectsProcessAbout
Book a scoping call →
  1. Home
  2. /Blog
  3. /Building products
  4. /Why we built our own headless CMS and backend platform
Building products·4 Oct 2026·5 min read

Why we built our own headless CMS and backend platform

Why we built our own headless CMS and backend, EasySiteControl, instead of rebuilding auth, storage and deployment for every client build.

By FutureGen Systems

Building our own headless CMS was never the plan. Like most studios, we started each client project by picking a stack, wiring up authentication, choosing where files would live, writing a deployment pipeline and bolting on monitoring. Then the next project arrived and we did it all again, slightly differently. After enough repetitions, the repeated part was clearly the problem, so we built EasySiteControl: one backend platform that every build can stand on.

This post covers what kept getting rebuilt, what a shared backend actually gives you, and the honest trade-offs against adopting an open-source CMS like Strapi or Directus, which we still use where they fit.

The work we kept rebuilding

Most client websites and web apps differ in their front end and their business logic. Underneath, they need almost the same things:

  • Authentication: sign-up, sign-in, OAuth, roles, password resets, session handling.
  • Data storage: a database, a schema for content and records, an API in front of it, file and image storage, backups.
  • Deployment: build pipelines, environments, container setup, a reverse proxy, TLS.
  • Monitoring: logs, error tracking, performance data, alerts when something stops responding.

None of this is hard on its own. The cost is that each project's version is a little different, and every difference is something to remember, patch and secure separately. A security fix in one project's auth flow doesn't reach the other five. A backup script tested on one server was never tested on another. The work is boring, it isn't billable in any meaningful way, and it is exactly where production incidents come from.

What a shared backend gives you

EasySiteControl (ESC) is a complete Backend as a Service platform. It provides managed databases, file storage, REST and GraphQL APIs, serverless functions, CI/CD pipelines, container orchestration, WebSockets, push notifications and monitoring from one place. It is built on Node.js, PostgreSQL, Docker and NGINX, in TypeScript.

The practical effect on a new build:

The front end starts on day one

Because content models, APIs and auth already exist, front-end work doesn't wait on backend scaffolding. You define the content schema for the project and the API is there.

Fixes land everywhere

When we improve auth handling, file storage or monitoring in ESC, every project on the platform gets it. That is the single biggest reason to consolidate: it turns many small maintenance burdens into one.

Editing is consistent

ESC powers our own open-source packages, esc-editor (a WYSIWYG HTML editor for React) and the esc-json-form family (schema-driven JSON form editors for React and Angular). Editors on different client sites get the same content editing experience instead of a different admin panel per project.

It works with what you already have

Teams can bring their own services and connect existing MongoDB, Redis or MinIO instances alongside ESC's managed infrastructure. A migration doesn't have to be all-or-nothing.

ESC runs in production today. It is the platform AnixoCart, a mobile-first e-commerce storefront we built for a lifestyle brand, and our client sites run on, handling product and content management behind a server-rendered Next.js front end.

Build vs adopt: the honest trade-offs

We are not arguing that everyone should build their own CMS. Strapi and Directus are part of our own stack too, and we build headless CMS backends on them (and on PocketBase) when they suit the project. They are excellent tools. Here is how we think about the choice.

Adopt Strapi / Directus Build your own platform
Time to first project Fast: install, model content, ship Slow: the platform is a product in itself
Community and plugins Large ecosystem, documentation, hiring pool Only what you build
Fit to your workflow You adapt to its conventions Shaped around how you actually deliver
Scope Mostly content and APIs; deployment and monitoring are separate Can cover deployment, monitoring and real-time in one place
Maintenance Upgrades driven by upstream releases Entirely your responsibility
Lock-in Open source, widely known Clients depend on your platform, so it must be documented and supported

When to adopt

Choose Strapi or Directus when you are building one product, when your team already knows them, or when the client wants a widely used tool another agency could pick up later. Directus is particularly good when you already have a SQL database and want an admin layer and API over it. Strapi is a solid default for content-heavy sites where editors need a friendly interface.

When building makes sense

Building your own only pays off when three things are true:

  1. You repeat the same backend many times. One project never justifies a platform.
  2. You need more than a CMS. Our pain was not only content modelling; it was auth, storage, deployment and monitoring together. A CMS alone didn't remove most of the rebuilt work.
  3. You can commit to maintaining it. A home-grown platform that stops getting security updates is worse than any open-source option.

If you can't say yes to all three, adopt.

What we'd tell anyone considering it

  • Start by extracting, not designing. The useful shape of a platform comes from the second and third projects, not from a whiteboard. Pull the repeated parts out of real builds.
  • Keep the front end independent. ESC is headless on purpose. Each site keeps its own front end (AnixoCart's is a server-rendered Next.js app), so nobody is locked into a templating system.
  • Treat the platform as a product. It needs versioning, a changelog, backups that are actually restored in testing, and monitoring of its own.
  • Leave escape hatches. Bring-your-own database and storage support exists because real clients arrive with existing systems.

Where this leaves a new project

For a new client build, the question is no longer "which backend this time?" ESC is the default starting point. Some projects are better served by Strapi or Directus, usually when the client's team already runs them or wants a tool they can hand to another vendor. Either way the decision is made on fit, not on what's quickest to scaffold.

You can see ESC alongside our other products on the projects page, and the backend and CMS work we do for clients is described under services. If you're weighing up a headless CMS for your own build, or want to stop rebuilding the same backend across projects, get in touch.

  • Headless CMS
  • Backend as a Service
  • EasySiteControl
  • Strapi
  • Directus

Written by FutureGen Systems.

ShareLinkedIn ↗X ↗Email ↗

Keep reading

More in Building products →
Building products

Browser-based SSH key management without shared keys

Browser-based SSH key management with BastionSSH: per-person keys, roles, audit logs and rotation, plus the SSH hygiene habits we follow.

4 Oct 2026·5 min read→
Building products

Cookieless, self-hosted product analytics: why we built Linqry

Cookieless, self-hosted product analytics without the GDPR risk or per-event bills: why we built Linqry, how it works and what it trades off.

4 Oct 2026·5 min read→
Cloud & DevOps

Moving your SaaS off Vercel or AWS to dedicated servers you own

When moving a SaaS off Vercel or AWS to dedicated servers makes sense, how to read your invoices, and how to plan deploys, backups and a rehearsed rollback.

4 Oct 2026·5 min read→
Free scoping call — no obligation

Have a project in mind?

Tell us what you are building. We will come back with an architecture, a timeline, and a fixed scope — no obligation.

Start a conversation →Browse our services
FutureGen Systems

Engineer-led product studio building AI integrations, cloud infrastructure, and full-stack applications — and running four products of our own in production. Based in Dehradun, working with clients across India and abroad.

11 Kanwali Road, Dehradun, Uttarakhand 248001, India+91 70172 39393[email protected]
Company
AboutHow we workProjectsOpen sourceBlogContactFAQ
Services
Private AI WorkspaceCloud RepatriationCloud & DevOpsAI & ML integrationCustom ERPFull-stack webAll services →
© 2026 FutureGen Systems. All rights reserved.
Privacy policyTerms of serviceLinkedInGitHubInstagram