Skip to main content

Technologies

Which Technologies Do We Use, and Why?

You should be able to see what your software will be built with before you commit to it. This page explains the questions that decide which tools your project gets, lists every one we work with, and shows where each fits among our services.

Before a tool is chosen

How Is the Stack Settled for Your Project?

A technology choice outlives the project that made it. It decides who can work on the code later, what upgrades will cost and how quickly a new developer finds their feet, so these questions come first.

  1. 01

    What must the software do on its worst day?

    We start from the hardest case rather than the typical one: a large volume of records, a dropped connection, many people editing at once. A content site, an app that has to work offline and an internal reporting tool each fail in different ways, so the right tools differ too.

  2. 02

    Who could you hire to change it?

    Widely used, well-documented tools mean a large pool of developers who already know them. We would rather build on something ordinary that many people can maintain than on something novel that only a handful can.

  3. 03

    How many moving parts does it really need?

    Every additional service is one more thing to host, update and keep an eye on. We keep the architecture as plain as the requirement permits, so whoever inherits it can follow it without calling in a specialist.

  4. 04

    What will next year's upgrades involve?

    Each dependency needs updating sooner or later, and a few need replacing altogether. Choosing versions with long support and active maintenance, and flagging the upgrades we can see coming, keeps that work small and planned rather than urgent.

  5. 05

    Does anything tie you to us?

    It should not. Your code lives in a repository you control from the first commit, the tools are ones any capable team can pick up, and nothing is arranged so that only we are able to change what you paid for.

By purpose

Every Tool on the List, Grouped by What It Does

Each group says what it is for and names the tools inside it. If a tool is listed, we work with it, and nothing has been added simply to make the list longer.

On the Phone

Should the app be written twice, once per platform, or once for both? Native code is the better answer when the app depends heavily on the camera, sensors or background work. A shared Flutter or React Native codebase is the better answer when both stores need essentially the same app, and we will tell you which case yours is.

  • Kotlin
  • Java
  • Android SDK
  • Jetpack
  • Swift
  • SwiftUI
  • Flutter
  • React Native

In the Browser

Everything a visitor sees and taps. Pages are built from typed components, checked on small and large screens, and rendered on the server or in the browser according to what each page needs to load quickly.

  • React
  • Next.js
  • TypeScript
  • JavaScript
  • HTML5
  • CSS3
  • Tailwind CSS

On the Server

Where the business rules live: who may sign in, what they may change, and how the app and website exchange data. Every interface is validated, versioned and written up so another developer can connect to it without asking us.

  • Node.js
  • PHP
  • Laravel
  • REST APIs

Where the Data Lives

Your records are the part of the system that outlasts every redesign. Tables, indexes and the method for changing them later are settled before real data arrives, because restructuring a large table afterwards is slow and risky.

  • MySQL
  • PostgreSQL
  • Firebase

Hosting and Releases

Where the software runs and how new versions reach it. We choose the plainest arrangement that meets the requirement and add monitoring so that a failure reaches us before it reaches your customers.

  • AWS
  • Google Cloud
  • Firebase

Change History

Every change is recorded in Git from the first day. That record is what lets anyone see what changed and why, undo a mistake, and receive the complete project at handover.

  • Git

Where they are used

Which Tools Does Each Service Draw On?

Most projects use only part of the list. Here is which groups usually come into play for each kind of build, with a link to the page describing that service.

Custom Software Development
  • On the Server
  • Where the Data Lives
  • In the Browser
  • Hosting and Releases
  • Change History
Website Development
  • In the Browser
  • On the Server
  • Where the Data Lives
  • Hosting and Releases
  • Change History
Mobile App Development
  • On the Phone
  • On the Server
  • Where the Data Lives
  • Hosting and Releases
  • Change History

Trademarks

Does Naming a Tool Mean We Are Partnered With Its Owner?

No. A tool appears on this page because we build with it, and that is all its name here tells you. We hold no partnership, endorsement, sponsorship, affiliation or certification with any of the companies listed alongside, and nothing on this site should be read as suggesting we do.

See the full disclaimer

Owners of marks mentioned on this site

Google LLC
Google · Google Cloud · Android · Jetpack · Firebase · Flutter
Apple Inc.
Apple · iOS · Swift · SwiftUI · Xcode
Amazon.com, Inc. and its affiliates
AWS · Amazon Web Services
Meta Platforms, Inc.
React · React Native
Oracle Corporation
Java · MySQL
Other respective owners
Kotlin · Next.js · Vercel · TypeScript · Node.js · PHP · Laravel · PostgreSQL · Tailwind CSS · Git

Unsure where to begin

Which Tools Suit What You Are Planning?

Describe what you want to build and the limits you are working within, whether that is existing systems, the people who will maintain it or the devices it must run on. We will talk you through the options and their trade-offs before anything is written.