Skip to main content
Contact
Services

Custom software. Delivered through a browser.

Web applications, from an internal utility to a multi-tenant platform, delivered through a URL rather than an app store and updated without anybody installing anything.

Progressive web applications

An application without an app store.

A browser can now do most of what a native application does, which means software can be delivered through a domain and reach any device with a modern browser.

It installs to a home screen in a few taps, works offline or on a poor connection, sends push notifications, and updates itself, so every user is on the current version without being asked to do anything.

It is also findable in a search engine, reachable with assistive technology, measurable with ordinary web analytics, and cheaper to build and run than two native applications. For a great many products that is the whole requirement.

The long view

Scaling up has a ceiling. Scaling out does not.

What gets built

Software we have delivered.

  • Internal tools

    The utility that replaces a spreadsheet an organization has outgrown and now depends on. Small, specific, and worth more than its size suggests.

  • Multi-tenant platforms

    Products serving thousands of users across many organizations from one deployment, with the tenant boundary enforced in the data layer.

    Read about software as a service
  • Integrations

    Two systems that were never designed to speak, made to, with the failure cases handled rather than discovered. Most of the work is in the failure cases.

  • Line-of-business systems

    Healthcare management, customer relationship management, project management and scheduling, built to the way the business runs rather than the other way round.

Scale

Stateless, because a bigger server runs out.

No product succeeds at volume on a single application server, because the only way to make one faster is to make it larger, and there is a largest one.

A stateless application separates the parts that hold something from the parts that do something. Sessions, uploaded files and background jobs each move to a service designed to hold them, and the machines serving requests hold nothing at all. Any request can then go to any instance, and instances can be added and removed while the system runs.

Capacity stops being an architecture problem and becomes a number somebody changes. Scaling horizontally adds power by adding servers, which is a purchase. Scaling vertically adds power by buying a larger server, which is a purchase with a ceiling and a migration waiting behind it.

Done at the start this costs a few days of design. Done in year three, once sessions are on disk and uploads are on the web server, it is a rewrite, and it is always needed at the worst possible moment, which is the week the product finally takes off.

Email and calendar software, healthcare management, customer relationship management, scheduling and project management tools are all this shape. The domain differs every time and the structure underneath does not, which is why a platform in a field we have not worked in before is an engagement rather than a research project.

A hand reaching towards a processor icon at the centre of a network of linked boxes, lit pale blue.
ARCHITECTURESAAS
Selected work

Built this way.

We can walk you through how any of these was built, and what it takes to run.

What each one was built on

The Tree
Laravel, React NativeSaaS
Metavent
Laravel, ReactSaaS
Wedding Sites & Services
CMS, reservationsWeb
Get started

Ready to work with us? Let’s talk.