App development

Web and mobile apps, built to last

We design, build and launch software for businesses that have outgrown spreadsheets and off-the-shelf tools. One team takes it from the first conversation through to the version your customers use, and stays on to keep improving it afterwards.

What this covers

The parts of a real product

Most of these turn up together, because software that takes payments also needs accounts, permissions and a version people can use on their phone.

01

Full product builds

The whole job, from the first sketch of the database through to the day people start using it. Design, interface, server, hosting and the release process that keeps the product moving once it is live.

02

Web applications

Fast, modern web apps built on Postgres or Supabase, with the framework chosen for what your product actually needs rather than what happens to be fashionable this year.

03

Mobile apps

React Native apps for iPhone and Android that share a backend with the web product, so something entered on a phone in the field is on a screen in the office a second later.

04

Accounts and permissions

Proper user accounts with roles that match how your business is actually organised, so people see the parts of the system they need and nothing else, checked on the server rather than hidden in the interface.

05

Payments with Stripe

Card payments, subscriptions and recurring billing through Stripe, wired into the same records the rest of the app runs on so your revenue figures and your customer list never disagree.

06

Interface and design

Screens designed around the work people are trying to get done, on a phone as readily as on a desk, with the everyday tasks reachable in a couple of taps instead of buried in a menu.

How we build

One backend, two front doors

A web app and a mobile app should be the same product seen from two different places. We build one server and one database, then put a browser version and a React Native version on top, which means a single set of rules about who can do what and no second copy of the logic quietly drifting out of date.

The database carries the security work rather than the screens. Permissions are enforced on the server, sensitive changes are recorded so you can look back at what happened and when, and payments are reconciled against the records that caused them instead of being checked by hand at the end of the month.

You get a live preview link early and it stays up for the whole build, so you are looking at working software rather than a slide deck. Hosting, domains, certificates and the release pipeline are ours to run, and the same people who wrote the code are the people you talk to about it.

lightshift - product layers
  • design screens agreed before code
  • web a fast browser application
  • mobile React Native, iPhone and Android
  • api one server, shared by both
  • accounts sign-in, roles, permissions
  • data Postgres or Supabase
  • payments Stripe, when money is involved
  • live hosting, backups, releases

Start to finish

Launch is the middle, not the end

Software earns its keep in the years after it goes live, so we plan for that from the first week rather than treating the launch as a finish line.

Scope and design

We start with a short call and follow it with a written scope, so you know what is being built, what it costs and roughly when it lands before anyone opens an editor. The screens are agreed before the build begins, which is a far cheaper place to change your mind.

Build in the open

Work goes live to a preview environment as it is finished, so you can click through the real thing every week and tell us where it feels wrong. Feedback in week three is a small adjustment, whereas feedback after handover is a rebuild.

Launch day

We handle the hosting, the domain, the certificates and the pipeline that puts new work into production. Any data you are bringing across is migrated and checked ahead of time, and your team gets shown around before the switch rather than after it.

Ongoing releases

After launch you get monitoring, backups and a steady stream of small improvements as your business changes. New features ship in regular releases instead of piling up into one nervous rewrite every couple of years.

Tools

What we build with

Familiar, well-supported technology that other developers can pick up, because software you cannot hand over is not really yours.

TypeScriptReact NativePostgresSupabaseStripePostmarkGoCardlessXeron8nCloudflareGoogle APIsDockerTypeScriptReact NativePostgresSupabaseStripePostmarkGoCardlessXeron8nCloudflareGoogle APIsDocker

Start a project

Tell us what you need built

A rough idea is plenty to start with. Describe the problem and we will come back with questions, a shape for the build and a straight answer on whether we are the right people for it.