About me

Core technologies
- Ruby:RailsHotwireHotwire Native
- JavaScript:Node.jsTypeScriptReactNext.js
- Databases:PostgreSQLMySQLRedis
- Infrastructure:AWSGCPDockerKamal
- AI:OrchestrationCode GenerationRAG
I'm Mike Carter, a principal full-stack software engineer with two decades of experience designing, building, and scaling commercial web applications.
As a Software Architect at Holiday Extras, I shaped technical direction across a 120-strong team, and was a driving force behind migrating their core booking platform to a React SPA that's still processing thousands of bookings per day. I architected Laced's platform from its earliest days, and helped scale it to handle millions in transactions. At RIFT, I led the technical transformation of their tax refund claims process from manual to self-service, opening access to hundreds of thousands of claimants.
I've founded two companies, grown distributed engineering teams, and delivered across the full stack from cloud infrastructure to native mobile. I operate where architecture meets business strategy — technology selection, data model design, migrating millions of sensitive records under strict compliance constraints. I'm most valuable when the problem isn't which framework to use, but how to change a running system under real commercial pressure without breaking the business that depends on it.
Work
Over 13 years I've worked across organisations from 5-person startups to 500-employee enterprises, at every level from individual contributor to architect to founder.

BitBrawn 2021 - Now
I founded BitBrawn in 2021 to provide senior technical leadership to companies stuck with web applications they've outgrown. As principal engineer and architect on every engagement, I own the technical strategy — from initial system audit through to delivery — working directly with founders, CTOs, and product directors.
Recent projects
- Continued the modernisation I started at Leaf, upgrading the Rails framework, consolidating RIFT's fragmented data stores into a unified API, and extending the self-service experience to cover the full claims lifecycle. Across both engagements, claim submissions increased 192% and unique sign-ins rose 84%.
Read case study → - Returned five years after building the original platform to architect multi-market support for Laced's European expansion. Introduced market-level abstractions across the full stack — shipping, pricing, listings, admin — without taking a live marketplace offline. Laced now ships globally.
Read case study → - Three-month engagement to design and ship a property onboarding flow within a large legacy platform at the UK's biggest online estate agent (500+ employees, £300m+ market cap at peak). Worked within their existing architecture, deployment process, and data model under tight constraints.
Read case study → - Took over a booking management platform after the lead developer left without warning or documentation. Mapped dozens of undocumented services, stabilised critical systems, and now lead ongoing modernisation.
Read case study → - Rebuilt their legacy PHP subscriptions platform using Next.js with a configurable backing CMS. Dramatically simplified the process of purchasing a subscription for their tens of thousands of subscribers.
Leaf 2016 - 2021
As co-founder and Engineering Director at Leaf, I owned strategy and delivery end-to-end. I built a distributed team of seven, shipping Node.js, React, and Rails platforms for clients from early-stage marketplaces to established enterprises. Several are still running at scale today.
Notable clients
- Architected a React Native trip planning app, as an incubated product within Holiday Extras. Designed a Node.js and GraphQL backend, handling all types of trips, from fixed dates and destinations to entirely open-ended. Launched summer 2017.
Read case study → - Led development of RIFT's first self-service claims platform, MyRIFT, replacing an entirely manual process. Built the pre-registration eligibility flow, document upload system, and integrated API lookups for addresses, vehicles, and bank details — achieving 99.8% address accuracy across 20,000+ records. This engagement laid the foundation for a multi-year modernisation I continued at BitBrawn.
Read case study → - Architected and built Laced's marketplace platform from scratch using Ruby on Rails and React. Features included product listings, bulk seller tools, Stripe and PayPal integration, and a credit-based bidding system. The platform launched in early 2018 and scaled rapidly through the Covid sneaker boom, clearing £100m+ in total sales. I returned to the platform five years later through BitBrawn to architect their European expansion.
Read case study →
Holiday Extras 2013 - 2016
I joined Holiday Extras as a developer and was promoted to Software Architect within the 120-strong engineering team. I led the migration of their core booking platform to a React SPA — a system processing 10,000+ bookings per day that's still in production today. I also led development of the company's first React Native mobile app and contributed to engineering practices, CI/CD infrastructure, and technical decision-making across the wider organisation.
Projects
Products I’ve designed, built, and operated end-to-end — from architecture and infrastructure through to the App Store.

IsThereSomebody 2024 - Now
A support network for friends and family of people suffering with addiction. As sole engineer I own the full stack — a Rails 8 monolith, native iOS and Android apps, and cloud infrastructure. 700+ active users across three countries.
Parable 2022 - 2023
An analytics platform tracking readership behaviour for blog authors. Built with Node.js and React, launched in 2022, and deliberately shut down in 2023 when the market proved too narrow. A formative lesson in validating demand before writing code.
Howdy 2017 - 2022
A hosted API for web contact forms — validation, spam filtering, and email delivery with zero backend code. Built at Leaf as an internal tool, opened to the public, and organically grew to 100+ paying users before winding down.
Writing
Writing about the decisions that shape software systems — architecture, technical debt, and the trade-offs nobody warns you about.
Speed run to legacy: how cheap AI tokens hide expensive mistakes
Falling token prices mask a rising cost: the codebase complexity that turns AI-assisted applications into legacy systems.
7th April 2026Technical debt just got a bailout
AI coding tools are helping teams finally tackle the technical debt they've been putting off for years.
20th January 2026A comically complex cloud
A look at how cloud infrastructure can spiral into unnecessary complexity.
18th December 2025My first failed product
A year after launch, I'm declaring my first product a failure. Here's why, and what I plan to do differently next time.
8th February 2023Testing and tradeoffs
More tests aren't always better. Exploring testing tradeoffs and the importance of using a mix of tools to control software quality.
31st August 2021For a better web, let developers learn
Systemic demands on developers prevent them from building deep expertise, and it's holding back the web on an industry-wide scale.
31st May 2021The economics of JavaScript web apps
Examining the real costs and benefits of building JavaScript-heavy web applications.
23rd February 2020Fix the right problems in your code
We spend too much time making vanity improvements to our code, while failing to make refactors that affect long-term quality.
2nd February 2020Behavioural traps in software teams
Common psychological traps that derail software teams and how to avoid them.
21st May 2018
Archive
What to do when your developer leaves and nobody understands the code
30th March 20268 signs your web application needs modernising
3rd March 2026Cheap code, expensive pitfalls
12th January 2026Understanding web application technologies
30th September 2025How to manage risk in software development
15th January 2024What is web application development?
31st October 2023Web application vs. website: What's the difference?
3rd October 2023Mistakes from 6 months of freelancing
29th October 2021Freelancing update - August 2021
14th September 2021Freelancing update - July 2021
12th August 2021Freelancing update - June 2021
12th July 2021How much does a web application cost?
1st July 2021Freelancing update - May 2021
7th June 2021My first month of freelancing
4th May 2021Choosing a good development partner
6th April 2021Moving on from Leaf
19th March 2021Twitter makes me feel bad
4th January 2020Things I wish I understood before starting an agency
26th October 2019Putting Amazon Textract to the test
17th September 2019How to thrive in an automated business world
20th August 2019Automate where it matters with process maps
16th July 2019Goals matter
18th June 2019The power of small development phases
17th December 2018A home office for productivity
2nd August 2018Working too much? Please stop
20th November 20175 tips for actually shipping a side project
29th March 2017There are no excuses for poor engineering in 2017
2nd March 20175 tips for a smoother code review process
18th March 2015Taming your Technical Debt
9th March 20145 tips for great performance from your Cordova app
20th January 2014
