Skip to content

Library & tooling

Start at the interesting part.

The part of every project you build before you build anything. Foundation is a library and a set of scaffolding tools that stand a new system up with the plumbing already in place, so the first week goes to the thing you actually set out to make.

01 / The situation

The same three weeks, every time.

Every new system starts in the same place. Someone has to sign in. Someone has to be an administrator. Passwords need resetting, invitations need sending, files need somewhere to live, and a permission check has to sit in front of everything that matters.

None of it is the reason the project exists, and all of it has to be right. Build it in a hurry and you live with the shortcuts for years. Build it carefully and the interesting work waits three weeks.

Foundation is that work, already done and carried forward from one project to the next.

02 / What comes with it

Everything a system needs before it needs anything else.

Every project

Accounts, access, and the everyday plumbing.

Account management

The whole lifecycle: invite, enable, disable, lock, unlock, reset. Sessions and the security policy that governs them.

Roles and permissions

Granular permissions grouped into roles, assigned to accounts, and checked wherever the work happens.

Email templates

The transactional mail every system sends, ready to edit rather than ready to write: invitations, resets, notifications.

Identity providers

Integration with the identity provider your customer already uses, instead of one more password for them to keep.

Asset storage

Somewhere for uploads to live, with the serving, addressing, and access control that goes with them.

Scaffolding

Generators that stand a new system up with all of the above wired together and running, not a checklist to work through.

Event-sourced projects

The tools you only need once nothing is overwritten.

System history

Everything that has happened, in order, filterable by tag and type, with the queries you run often saved for next time.

Projection management

See every read model, where each one has caught up to, and rebuild any of them without taking the system apart.

Time travel

Wind any projection back to see the exact state it held at a point in the past, which turns most arguments about what happened into a lookup.

03 / Why it exists

Built from real systems, not from a template.

Foundation is the accumulated answer to problems we hit building real systems, pulled out once the same solution had been written a third time.

A head start, not a cage

The scaffolding writes code into your project, where you own it and can change it. It gets you past the blank page rather than deciding how the rest of the system has to work.

Fewer places to get security wrong

Password policy, lockout, sessions, and permission checks are the parts nobody should be reinventing under deadline. They arrive already thought through.

At home in event-sourced systems

History, projections, and time travel are first-class here rather than bolted on, because that is how we build. See Show and Tally for a system standing on it.

Starting something?

Foundation is how we start, and it is how we get a client's system to something real quickly. Tell us what you are building.