Eight Mile Services · software studio · London

Build your SaaS with us.

Bring an idea, a spreadsheet your business has outgrown, or a product that needs rescuing. We design it, build it, put it live on your own cloud account and keep it running. One team for the whole thing, from the sign up screen down to the servers.

Tell us what you want built

[email protected]

Replies come from the engineer who would build it.

What we cover

Product, API, data, cloud

Languages

TypeScript, Python, Java, Go

Runs on

AWS, GCP, Azure, bare metal

First working link

Usually week two

idea → live software

six weeks, typically

DAY 1A proper conversationwhat the product is for, who pays for itWEEK 1Shape and pricescreens, data model, a fixed numberWEEKS 2 TO 5Build in the opena working link, updated every few daysWEEK 6Live on your accountyour cloud, your domain, your codeAFTERKept runningbackups, alerts, changes, someone to call

Who we build for

You do not need a spec. You need someone who has done this before.

Most people land here from the footer of something we built for somebody else. Whichever of these sounds like you, the first step is the same: a short email and a proper conversation.

You have the idea

No technical co-founder, no engineering team.

You know the problem better than anyone and you can describe the product in a paragraph. What you are missing is the person who turns that into software people can pay for.

We become that person, and you keep every share.

You run the business

The spreadsheet stopped coping about a year ago.

Quotes, jobs, stock, staff, invoices, all held together by files, group chats and one person who remembers how it works. It is slowing you down and you know it.

We turn how you already work into a proper system.

You are technical

You could build it. You do not have the hours.

You want people who read a schema before opinions, who write tests, who can talk about idempotency and blue green releases without a glossary, and who leave the repo tidy.

Skip the sales call. Send us the repo and the problem.

You already have a product

It works, but every change now feels risky.

Maybe an agency built it and moved on. Maybe it grew fast and nobody had time to tidy up. Deploys are scary, the bill keeps rising and nobody is quite sure what runs where.

We audit it, stabilise it, then make it cheap to change.

What we build

Name the thing. We have either built it or built its awkward cousin.

Subscription software is a business model, not a category. Underneath, it is the same craft every time: screens people can use, an API that keeps its promises, data that stays correct, and infrastructure that does not fall over on a Friday.

Customer portals

The account your customers log into. Sign up, teams and permissions, documents, messages, notifications, an audit trail of who did what.

client areas · member portals · tenant dashboards

Operations software

The system your staff live in all day. Jobs, scheduling, stock, approvals, forms that used to be paper, and the reports your accountant keeps asking for.

field service · warehouse · clinics · back office

Money and financial products

Anything that has to add up. Ledgers, reconciliation, quotes and invoices, subscription and metered billing, VAT, refunds, dunning, payouts.

Stripe · Open Banking · ledgers · payouts

Marketplaces and platforms

Two sides that need each other, plus the awkward middle. Listings, matching, escrow, reviews, disputes, commission, and the admin tools to police it.

bookings · rentals · brokerage · supply chains

Data products and reporting

Pulling numbers out of the systems you already pay for and making them mean something. Pipelines, warehouses, dashboards, alerts, exports people trust.

BI dashboards · pipelines · exports · alerting

AI products

Software where a model does real work rather than decorating the page. Assistants grounded in your documents, agents that take actions, review queues for humans.

agents · retrieval · classification · copilots

APIs sold as a product

When the product is the endpoint. Keys, quotas, versioning, webhooks, sandbox environments, docs a developer can follow without emailing you.

developer platforms · integrations · webhooks

Mobile and field apps

The same product in a pocket, working when the signal does not. Offline first, camera and scanning, push, background sync, on both app stores.

Flutter · React Native · offline sync · scanning

Sectors we have shipped into

Fintech
Insurance
Property
Construction
Logistics
Healthcare
Legal
Recruitment
Education
Manufacturing
Energy
Hospitality
Retail
Security
Agencies
Charities
Public sector suppliers
Trades

Not on the list? That has never once been the reason a project did not work. Tell us the industry and we will tell you honestly what we already know and what we would need to learn from you.

Still reading? That usually means you have one in mind.

Describe it in three sentences and send it over. You will get a straight answer about whether it is worth building, what it would take, and roughly what it would cost.

[email protected]

Describe your product

How it works

Six weeks from first email to something your customers can log into.

That is the usual shape for a first release. Bigger products take longer and we will tell you that upfront rather than at the end. What never changes is the order: understand it, shape it, build it where you can see it, then run it.

01

Day 1

A conversation, not a pitch

Half an hour on a call. What the product is for, who pays, what happens today without it, and what would count as it working. If we are the wrong people we say so on that call and point you somewhere better.

02

Week 1

Shape it and price it

You get the screens sketched, the data model written down in plain English, the risky parts named, and a fixed price for the first release. No hourly meter running while we work out what you meant.

03

Weeks 2 to 5

Build where you can watch

A real link you can open, updated every few days, running the same way it will in production. You use it, you tell us what feels wrong, we change it. Nobody disappears for two months and returns with a surprise.

04

Week 6

Live, on your own account

Your cloud account, your domain, your repository, your database. We set up backups, monitoring, alerts and the deploy pipeline, then hand over the keys and walk you through all of it.

05

After

Someone still answers

Software is never finished. We keep it patched and watched, ship changes as your business changes, and stay on the other end of an email. Or we hand it cleanly to your own team, which is a perfectly good ending too.

What you get either way

You own the code, the accounts and the data from day one

Fixed price for the first release, agreed before we start

A working link in weeks, not a slide deck in months

Plain English updates, no jargon used as a shield

No lock in. If you leave, everything leaves with you

The fastest way to find out what your idea would cost is to describe it in a few sentences and send it over. You will get a real answer, not a form.

The layer under the product

We build the software and we build the ground it stands on.

Plenty of studios can produce screens. Fewer can tell you what happens when your database fails over at 3am, or why your cloud bill tripled after a launch. Eight Mile started in networks and infrastructure, then grew upwards into products, so the whole stack is one conversation with one team.

anatomy_of_a_saas

all six layers

People using itbrowser · mobile · your customers’ own systemsEdgeDNS · CDN · WAF · TLS · rate limits · HAProxyProductReact front end · typed API · sign in · billingWork behind the screenqueues · scheduled jobs · webhooks · AI agentsDataPostgreSQL · Redis · object storage · vectorsCloudAWS · GCP · Azure · bare metal · your accountWRAPPED AROUNDALL OF ITTerraformAnsibleDockerCI/CDPrometheusGrafanaBackupsOn call

Languages and frameworks

TypeScript
Node
React
Next.js
Python
FastAPI
Django
Java
Spring Boot
Go
Flutter
React Native

Cloud and hosting

AWS
GCP
Azure
Cloudflare
Hetzner
DigitalOcean
netcup
Velia
Bare metal
UK and EU regions

Infrastructure as code

Terraform
OpenTofu
Custom Terraform providers
Ansible
Docker
Docker Swarm
Kubernetes
Helm
GitOps

Data and storage

PostgreSQL
Patroni HA
MySQL
MongoDB
Redis
pgvector
OpenSearch
ClickHouse
Kafka
RabbitMQ
S3

Shipping changes

GitHub Actions
GitLab CI
Jenkins
Trunk based
Blue green
Canary releases
Reversible migrations
Preview environments

Knowing it is healthy

Prometheus
Grafana
Loki
OpenTelemetry
Sentry
Uptime checks
Structured logs
Alerts that page a human
Runbooks

Security and access

OAuth 2
OIDC
Keycloak
SAML SSO
MFA
RBAC
Audit trails
Secrets management
WAF
Pen test prep
GDPR

Networks and edge

HAProxy
nginx
DNS
WireGuard
VLANs
Firewalls
Load balancing
Failover
Cisco certified engineers

How we leave a codebase

eight house rules

01

Typed from the database row to the button on the screen

02

Infrastructure lives in git, not in somebody’s memory

03

One command to run the whole stack on a laptop

04

Migrations are reversible and rehearsed before production

05

Tests cover the parts that would cost you money

06

Servers are rebuilt, never hand fed

07

Documentation sits next to the code it describes

08

Secrets are never in the repository. Not once, not temporarily

Ask us something technical

Architecture questions get answered properly, whether or not you hire us.

AI and automation

AI in your product, built by people who have shipped it and run it.

Two of our open source projects are exactly this: an agent that routes conversations to the right specialist and grounds its answers in your documents, and a cache that stops you paying a model twice for the same question. Read the source before you believe a word of it.

Assistants that know your business

Grounded in your own documents, tickets and policies rather than the open internet. They quote the source they used, and they say “I do not know” instead of inventing a refund policy.

Agents that actually do things

Software that reads a request, decides which tool to reach for, calls your API, and hands off to a human when it is out of its depth. Every step is logged and replayable.

Documents into data

Invoices, contracts, forms and PDFs turned into fields you can query, with a review queue for anything the model is unsure about. Nothing silently guessed into your database.

The boring work, automated

The daily export, the reconciliation, the chasing email, the report someone rebuilds by hand every Monday. Scheduled, monitored, and loud when it fails.

AI dropped into what you already run

Search that understands intent, drafting inside your existing tools, classification and routing, summaries that save a person twenty minutes. No rebuild required.

The unglamorous half

Prompt injection defences, PII masked before the model sees it, caching so you stop paying twice for the same answer, evaluations so you can prove a change made it better.

Proof, not promises

ChatAgent

An LLM decides whether a conversation belongs to sales, billing or support, then a specialist answers from your own documents, behind guardrails on the way in and out.

Read how it works

llm-cache

Exact matching first, then vector similarity when the wording changes. The second person to ask the same question costs you nothing and answers instantly.

Read how it works

Both are open source, both run in production, and both were written before anyone paid us to say we do AI.

Talk about an AI feature

Bring us the part you are dreading.

The integration nobody wants to touch, the migration that keeps slipping, the feature your team has rewritten twice. Those are the emails we enjoy most.

[email protected]

Send us the hard part

Already have something

Moving it, fixing it and taking it over are all normal jobs here.

Not every project starts on a blank page. A good share of our work is inherited: something that runs, mostly, but nobody enjoys touching. We are comfortable walking into that.

Off the server under the desk

That machine in the cupboard, or the one VPS somebody set up in 2016. We map what it actually does, rebuild it as code, move it, and prove the new one works before the old one is switched off.

Cloud to cloud, or off cloud entirely

AWS to GCP, either of them to your own hardware, or the other way. We have written our own Terraform providers, so we are comfortable in the corners where the tooling runs out.

Database moves without the drama

Version upgrades, engine changes, splitting one database into several. Rehearsed on a copy, cut over with replication, with a rollback that we have tested rather than hoped for.

Codebases somebody else left behind

No documentation, no pipeline, no original developer. We read it, write down how it works, get it building again, then make the first change safely so everyone can breathe.

Bills that stopped making sense

Rightsizing, killing infrastructure nobody remembers creating, storage tiers, committed use, and honest advice about the managed service you are paying four times over for.

Getting ready to be audited

Backups that have been restored at least once, access logs, least privilege, secrets out of the repo, disaster recovery you could actually perform on a bad day.

Sound familiar?

Only one person knows how to deploy it

Nobody has restored a backup to check it works

A small change takes three weeks and a prayer

Servers were configured by hand and never again

There is no staging, so production is the test

The cloud bill goes up and nobody can say why

Three or more of those and it is costing you money every month. A short audit usually pays for itself before the work even starts.

Things we have already built

14 products running today. 9 of them you can read the source of.

Access control on card readers, high availability PostgreSQL, an inbox that triages itself, a PDF editor that never uploads your file, Terraform providers published to the public registry. Different worlds, same team.

Email operations

Open source

MailOps

Turns a shared inbox into a prioritised view of messages, findings and recommended actions.

AI triage
IMAP
TypeScript

Agent control plane

Open source

Hermes Control Center

Puts Hermes gateway health, agent runs, sessions, jobs, capabilities and guarded workspace files behind one local operator desk.

Hermes Agent
FastAPI
React

Local PDF editing

Open source

PDF Editor

Browser-based PDF editor: replace text on any page, add text, whiteout, highlight and draw. No file ever leaves the browser.

pdf-lib
pdf.js
Client-side

Business operations

Private product

TradeOps

Runs a trade or service business end to end: enquiry, quote, job, invoice and the numbers behind them, with office, field and owner views of the same day.

React
Express
MongoDB

SEO auditing

Private product

Crawler Studio

Crawls a site the way a search engine would, runs 59 weighted checks against what it finds and returns a scored report saying what to fix and how many points it is worth.

Next.js
NestJS
Postgres

Job discovery

Private product

Work Crawl

Polls public job APIs every hour, deduplicates the results and scores each role against your sector, contract type, IR35 status and pay before pushing the matches to Telegram.

Telegram
Prisma
TypeScript

Configuration management

Private product

Nodeconfig

Configures infrastructure devices in a management portal with sub 10 second configuration time across thousands of devices: Linux, Cisco IOS routers and more.

Python
Sockets
TypeScript

Document rendering

Private product

HTML2Doc

Four document tools behind one API: HTML to PDF, a URL captured as an image, Handlebars templates and image compression. Every response is a signed link that expires.

Chromium
Signed links
REST API

Conversation infrastructure

Open source

ChatAgent

Routes every conversation to the right sales, billing or support specialist, grounded in your documents.

AI agents
LangGraph
RAG

Model efficiency

Open source

llm-cache

Skips repeat model calls with exact matching first, then pgvector similarity when the wording changes.

Semantic cache
Postgres
pgvector

PostgreSQL HA role

Open source

HAProxy

An Ansible role deploying PostgreSQL 17, Patroni, etcd and a primary-aware HAProxy frontend on Docker Swarm.

HAProxy
Patroni
Ansible

Access control

Open source

RACS

Validates access cards locally, prevents repeat entry across nearby readers and reconciles every decision with a central API.

Flutter
WebRTC
Spring Boot

Velia Terraform Provider

Open source

terraform-provider-velia

Terraform provider for velia.net cloud server resources.

GoLang
Terraforn
Velia

Netcup Terraform Provider

Open source

terraform-provider-netcup

Terraform provider for netcup cloud

GoLang
Terraforn
Netcup

Ways to work together

Hire us for the whole product, one slice of it, or just a straight answer.

Every arrangement below starts with the same email. Tell us roughly what you need and we will say which of these fits, including when the honest answer is that you do not need us yet.

Second opinion

A week of honesty

We read what you have, or what you plan to have, and write down what we would do differently. Useful before you spend real money, and cheap compared with finding out later.

Architecture and code review

Risks and costs written plainly

A short plan you can hand to anyone

Build

Most people

We build the whole thing

The usual arrangement. Design, product, front end, API, database, infrastructure and launch, delivered as one fixed price release and then the next one after that.

Fixed price per release

A working link from week two

Live on your own accounts

Handover documents and a walkthrough

Alongside

We join your team

You have developers and a backlog they will never reach. We take a slice of it, work in your repositories and your process, and leave your standards better than we found them.

Your tools, your board, your review process

Pairing and knowledge left behind

Cover for the parts nobody enjoys

Run it

We keep it alive

Updates, patches, backups tested for real, monitoring that wakes someone up, and a person who answers when something looks wrong at an inconvenient hour.

Monitoring and alerting

Patching and dependency upgrades

Backup and restore drills

A monthly change budget

About money

No price list, because we have never met two identical products.

What we will do is give you a real number quickly. A few sentences by email usually gets you a range the same day, and a fixed price for the first release within a week of talking properly. If the budget you have and the product you want do not meet, we will say so early rather than build you two thirds of something.

Ask what yours would cost

Straight answers

The questions people ask before they email.

One email starts it

Tell us what you want built.

No form, no discovery call about a discovery call. Write to the address below and an engineer reads it. If it is something we can help with you will get real thoughts back, and if it is not, you will get pointed at someone better.

Handy things to include

What the product is, in a sentence or two

Who would use it, and what they do today instead

Whether anything exists already

When you would like it live, and roughly what you can spend

Missing half of it is fine. Send it anyway.