Why Fóir exists

Eight years of building software for other people, and the same gap in almost every project. A content management system gets you most of the way. The part it does not cover is where the budget goes.

It started as client work

Fóir comes out of a studio that delivers software for clients. The products differed from one project to the next. Underneath, each one needed the same parts: content an editor could change without a developer, data that belonged to particular users, sign-in, file storage, scheduled work, and rules about who was allowed to see what.

We built those parts on project after project, and each one taught us something about how they should fit together. After enough projects the patterns stopped changing, and it made less and less sense to build them again for each client.

The last ten percent

An off-the-shelf CMS almost meets the brief. Then comes the part it was never going to do: the signed-in area, the content that differs by customer, the workflow that reaches into another system.

At that point there are three ways forward and each one costs. Run two systems and write the integration between them. Build the backend and bolt a third-party CMS onto the side. Or build the backend and rebuild the editing tools your team already knew how to use. We have quoted all three more than once, and none of them is the thing anybody wanted to buy.

An agent rebuilds it every time

Cheaper development ought to have made that last part affordable. It made it frequent. An agent asked to build an application assembles the same missing pieces on every project: sign-in, a database, file storage, permissions, a job queue. Most of them are security critical, and you are trusting that it joined each one correctly, every time, in a codebase nobody has read end to end.

With Fóir those pieces arrive already joined, and we run them. The agent writes what is particular to your product, on a backend whose access rules it has no way to leave out.

The bugs in that code are absences

The failures in an assembled backend are quiet ones: a check on a path nobody exercised, a query missing a clause, a key that reaches further than the person holding it.

You cannot review your way to confidence about something that is not there. What works is a system where the check cannot be left out. In Fóir the access rules compile into the database's own row-level security, so a query that forgets a check returns only what its caller may see, and a new table fails our tests until someone has decided how it is protected. The engine that does the compiling is Demesne, and it is open source.

We build on it ourselves

Fóir is the foundation we start our own work from. This site runs on it, and it is where our new client projects ship. The decisions we used to make again on each build, such as how content is modelled and how a user's data is kept theirs, are made once and kept.

A backend has to be operated as well as written, so Fóir is a managed service. The part of it that decides who can see your data is published for anyone to read.

So we built the one we kept quoting for

Every project paid to have the same foundation built again.

Fóir is that foundation, run for you: structured content and application data in one runtime, with hosted sign-in, media, personalisation, automation and a generated API already wired together. You start on your own business logic.

What it stands in for

The subscriptions and the build projects it replaces, in one place and on one bill.

A headless CMS

The editorial interface, the schema, the drafts and the version history.

An auth provider

Sign-in for your own users, on your own domain, with the roles that go with it.

Storage and a CDN

Uploads, image transformations, video streaming and the delivery in front of them.

A search service

Full text across your records, and vectors for retrieval by meaning.

A job runner

Schedules, background operations, retries and somewhere for the failures to go.

A messaging provider

Transactional email, in-app and push, with preferences held per customer.

The integration layer

The code that would otherwise hold those six together, and the drift between them.

The people who patch it

There is no server of yours to keep current, and no upgrade weekend.

See whether it holds up

Every capability, and the comparisons where we say plainly which tool we would reach for instead.