Web & mobile development in Scotland
Enterprise-grade engineering, without the enterprise. We build the APIs, licensing servers, and marketplaces that power other people's products – and the web and iOS apps in front of them. From a weekend side-project to a platform at scale.
Services
Focused, specialised development – not a general-purpose agency that does everything.
Custom Platforms
Full SaaS platforms on Rails 8 – multi-tenancy, subscription billing, real-time features, and clean architecture from day one.
iOS & Swift Apps
Native SwiftUI apps that pair with your platform – live data over WebSockets, secure sign-in, and App Store delivery.
Webshops & E-commerce
Spree Commerce and bespoke storefronts with Stripe and PayPal – inventory, orders, and payments handled properly.
APIs & Integrations
GraphQL and REST APIs – the documented, versioned contract behind your apps, plus integrations with Stripe, logistics, and the systems you already use.
From a napkin sketch to shipped software.
Bring us an idea sketched on the back of a napkin, or a platform that needs building. We get on a call, work through your use cases together, and turn it into software that ships – the app, the API behind it, and the licensing, auth, or marketplace underneath if you need it. Here is who we tend to fit.
About us…
- We are a Scottish web and mobile development studio – senior engineers who build the software ourselves, from the app down to the APIs, auth, and licensing it runs on. No outsourcing, no account managers in between.
- We get on the phone and take the time to really understand what you are trying to do before writing a line of code.
- We turn a spec, a rough plan, or a napkin sketch into working software – tested, documented, and yours to own.
- We stay on after launch – hosting and running it for you, handing it to your own team, or setting it up to self-host. Your code, your choice.
- We are proud to be based in Crail, on the East Neuk of Fife, and to work with businesses right across Scotland and the UK.
About you…
- You have a product to build, a business that has outgrown off-the-shelf software, or you are about to build the thing that cannot be off-the-shelf.
- You would rather talk directly to the engineers building your software than to a salesperson.
- You want it built properly the first time, not built cheap and rebuilt later.
- You would rather own your platform than rent someone else's, and you are in it for the long term – not a project abandoned at launch.
- You like the idea of a local, Scottish team you could actually sit down with over a coffee.
Modern tools. No legacy baggage.
We pick the right tool for each problem and keep everything current – every technology below runs in production for our clients today. Open one to see why, or read the full explainer.
Ruby on Rails
Our backbone for web applications – modular monoliths with enforced boundaries, running everything from SaaS platforms to webshops.
Read more about Ruby on Rails Swift & SwiftUI
Native iOS, built to Apple's conventions – real-time data over WebSockets, secure sign-in, and App Store delivery.
Read more about Swift & SwiftUI TypeScript & JavaScript
Typed, tested front-end code – only as much JavaScript as the page actually needs.
Read more about TypeScript & JavaScript GraphQL
APIs where each client asks for exactly the data it wants – a self-documenting contract both sides can rely on.
Read more about GraphQL REST APIs
Clear, versioned endpoints with proper authentication and documentation generated from the code.
Read more about REST APIs OpenAPI & Swagger
A standard description of your API – living documentation, a try-it console, and client code, generated straight from the source.
Read more about OpenAPI & Swagger PostgreSQL
Rock-solid relational storage – transactional integrity, sensible constraints, and query plans we actually read.
Read more about PostgreSQL Astro
Fast, content-driven sites – static where possible, dynamic only where it earns its keep.
Read more about Astro Strapi
A headless CMS so you can edit your own content while keeping a fully custom, fast website.
Read more about Strapi Docker & Kamal
Containerised, health-checked, rollback-ready deploys to infrastructure in your name – no lock-in.
Read more about Docker & Kamal EU & UK Hosting
Hosting in Ireland, Germany, Finland or the UK, with a straight answer about which providers sit genuinely outside US jurisdiction.
Read more about EU & UK Hosting Vue
A fast, approachable framework for the interactive parts of a web app – reactive by default, small to ship, and pleasant to maintain a year later.
Read more about Vue AI-Accelerated Delivery
Spec-driven, with guardrails. We use AI to move faster – but specs come first, tests wrap everything, coverage gates hold the line, and a human reviews every change. Speed without the slop.
Read more about AI-Accelerated Delivery Your stack
Rails and Swift are our default, not our ceiling. We're engineers with the depth to work in your stack properly – C, C#, Go, Python, whatever your platform runs. We adapt to you because we can, not because we have to.
Start a projectOne graph, many backends.
The real shape of a platform we run in production. Your iOS and web apps cross into AWS through a load balancer that fronts a single Apollo Router. The router federates one GraphQL graph across three domain services, each in the right stack for the job — IaaS on .NET, Orders on Rails, Accounts on Swift — and each owning its own database, from SQL Server to a dedicated Postgres apiece. Containerised and deployed with Docker + Kamal.
Ask for exactly what you need.
GraphQL lets your app request precisely the data it wants – no more, no less – and get a predictable shape back. An SDK developers don't hate is a feature, not a nicety. Here's a real query, and the response.
query GetCompetition($id: ID!) { competition(id: $id) { name status organisation { name } entries { totalCount } } }
{ "data": { "competition": { "name": "Spring Classic 2026", "status": "published", "organisation": { "name": "Crail Sailing Club" }, "entries": { "totalCount": 128 } } }} Our approach
Principles we apply to every engagement – not a marketing statement, but a working methodology.
Test-driven development
Every Code Bunny writes tests first. 100% specification coverage – not a metric, but how you know the product works.
Bespoke domain modelling
A Code Bunny will model your domain properly – state machines, business logic, constraints – so the software reflects how your business actually works.
Modern, maintained stacks
Code Bunnies pick the right tool for each job and keep it current – Rails 8, Swift, Vue, and Astro, chosen to fit the problem and maintained for the long term.
Long-term partnership
Your Code Bunny is still here after launch. Clean code, clear documentation, and a team that picks up when you need to evolve it.
We don't ship and forget.
Every app we deliver is monitored in production. We watch the numbers that matter – P95 latency, error rates, throughput – and keep tuning performance long after launch, so it stays fast as it grows.
What we watch
P95 latency
Real-world speed at the 95th percentile – not a flattering average.
Error rates
Exceptions captured and triaged before they reach your users.
Throughput
Requests and background jobs per second, watched under real load.
Uptime & Apdex
Availability tracked continuously, alerting us the moment it slips.
The tools
- Datadog
- Scout APM
- New Relic
- Airbrake
Application performance monitoring and error tracking, wired into every app we run.
Stats for nerds.
Answers before you have to ask.
What does Code Bunnies actually build?
Web applications in Ruby on Rails, native iOS apps in Swift, and the APIs that connect them – plus bespoke e-commerce and software licensing backends. One team across all of it.
Do we need a full specification before talking to you?
No. A clear idea of the problem is enough – turning that into a specification is part of what you are paying us for. Some of the best projects we have worked on started as one paragraph and a phone call.
Can you take over a codebase another team built?
Yes – it is one of the things we do most. We start with a read-only audit and give you a written report of what state the code is in and what we would tackle first. No obligation to continue past the audit.
How do you price work?
Project work is scoped and quoted after the initial conversation or audit – a written proposal, not an hourly meter left running. Ongoing work runs as a monthly retainer with agreed hours and a named developer. We are not the cheapest option, and we would rather tell you that up front.
Who owns the code?
You do. Work happens in repositories you own, deploys go to infrastructure in your name, and everything is documented for whoever comes after us. No lock-in by design.
What happens after launch?
Software is not finished at launch. Most clients move onto a retainer: monitoring, dependency and security updates, and a developer who already knows the codebase when the next feature is needed. If you would rather take it fully in-house, we hand over properly.
Where are you based?
Crail, in the East Neuk of Fife – The Old Bakehouse, on West Green. We work remotely with clients across the UK, and everything is reviewable online as it progresses.
Ready to build something properly?
Let's talk. No sales pitch – just an honest conversation.
Talk to a Code Bunny