Every request treated as urgentMeet in person or remotely
+44 121 682 1955info@techlina.co.uk

Case study

Brumly: a West Midlands travel app, from idea to the app stores

How Techlina designed, built and shipped a bus, tram and train app for the West Midlands, with a Java backend and a single low-cost server.

At a glance

Built in-house, one codebase, two app stores

Brumly is Techlina's own product: a free app for getting around the West Midlands by bus, tram and train. It was designed and built in-house by Techlina's engineering team, from the first screen to the store submissions, using the same approach we use for client apps.

It is a small product next to the government and enterprise systems our team usually works on. That is the point of including it: it shows the whole job, from idea to app stores, done in-house on a realistic budget.

Product
Brumly, a free travel app for the West Midlands, owned by Techlina Ltd
Platforms
iPhone and Android
App
One cross-platform codebase for iPhone and Android; MapLibre with OpenFreeMap map tiles
Backend
Java, shared caching
Hosting
One AWS Lightsail server, Docker Compose, Caddy for HTTPS; website on Hostinger
Website
brumly.co.uk

The goal

Travel information for the West Midlands is spread across several operators and data sources. The aim was one simple, free app that brings live information for buses, trams and trains together, and that stays cheap to run while it finds its audience.

What was built

  • The app: one cross-platform codebase for iPhone and Android, with maps drawn by MapLibre.
  • The API: a Java service that collects public transport data, tidies it and serves it to the app in a simple format.
  • Shared caches: live data is fetched once and reused for every user who asks for the same thing, rather than once per phone.
  • Hosting: the API runs in Docker Compose on a single AWS Lightsail server, with Caddy handling HTTPS certificates automatically. The marketing website is a static site on Hostinger.

brumly.co.uk

Engineering decisions

Choices that keep it fast and affordable

Cache once, serve everyone

The API fetches each piece of live data once and shares it between every user asking for it. That keeps answers fast and stays well inside the data providers' rate limits as usage grows.

Predictable running costs

One right-sized Lightsail server with a fixed monthly price runs the API and caches in Docker. There are no surprise bills from auto-scaling while the audience grows.

Open mapping

Maps use MapLibre with OpenFreeMap tiles, so there is no per-map-view charge from a commercial map provider.

Store-ready from day one

Automated build and submission tooling produced iPhone and Android builds from one codebase, with the same release steps each time.

Your project

The same approach, for your app

The 6-Week App Launch uses the same stack and the same discipline: a tight scope, one codebase for both platforms, a well-built API and hosting sized for where you are now, not where you hope to be in five years.

See the 6-Week App Launch
  • One codebase for iPhone and Android
  • Java APIs, the enterprise technology banks and government rely on
  • Caching designed in from the start
  • Hosting costs you can predict

Have an app idea?

Tell us what you want to build. We'll give you an honest view of scope, timing and price.