selected work

websites, apps and software we have built.

See what we built for our clients, how it works and the results.

£2M+
processed via Ontick
8+ yrs
longest engagement
90+
core web vitals
5
codebases, one team

Some of our clients

UK · Europe · Worldwide

case studies

client projects.

Creoate · B2B wholesale marketplace01

B2B wholesale marketplace

Creoate — eight years running a B2B wholesale marketplace.

The Next.js storefront, Python ingestion pipelines, DynamoDB data layer and AWS infrastructure behind a cross-border wholesale marketplace of 5,000+ brands and 200,000+ products.

outcome
8+ yrs

one team, still shipping

engagement
Eight-year partnership

Next.js · DynamoDB · Python · AWS

  • Next.js storefront
  • Python ingestion pipelines
  • DynamoDB data layer
  • AWS media & infra
  • B2B payments
Read the case study
Easyship · global shipping platform02

Global shipping & logistics

the embedded team behind Easyship’s site and CMS.

Inside a global logistics company's own Nuxt/Vue codebase — the shipping-rate and tax & duty calculators, server-rendered programmatic courier pages, a MongoDB CMS and the reliability work behind it, on Google Cloud.

outcome
550+

couriers on the rate calculator

engagement
Embedded team, since 2025

Nuxt/Vue · Node · MongoDB · GCP

  • Nuxt/Vue SSR site
  • Shipping & tax/duty calculators
  • MongoDB CMS + CSV pipeline
  • Technical SEO at scale
  • Reliability & security on GCP
Read the case study
TEFL.ie · accredited TEFL courses03

Education & training · course commerce + LMS

the commerce-and-learning platform behind TEFL.ie.

An accredited Irish TEFL course business run across five systems — a WordPress and WooCommerce storefront, a Moodle LMS, Stripe deposits and instalments, Zoho CRM and Zapier automation — engineered and kept in step since 2017.

outcome
8 yrs

engineer & run, since 2017

engagement
Engineer & run, since 2017

WordPress · Moodle · Stripe · Zoho

  • WordPress + WooCommerce storefront
  • Moodle LMS, integrated & extended
  • WooCommerce → Moodle enrolment
  • Stripe deposits & instalments
  • Zoho CRM + Zapier automation
Read the case study
All White Laser · aesthetic-laser machines & finance04

Medical aesthetics · B2B equipment & finance

the AW3 business platform behind All White Laser.

A bespoke platform for an aesthetic-laser business that finances its machines on recurring GoCardless Direct Debit — purchase, rental and maintenance in one billing system, a provider certification network, and a React Native app for the clinics that own the machines.

outcome
9 yrs

build & run, since 2017

engagement
Build & run, since 2017

Next.js · GoCardless · WordPress · React Native

  • AW3 business platform
  • GoCardless Direct Debit billing
  • Purchase, rental & maintenance
  • Provider certification & map
  • React Native app (iOS & Android)
Read the case study
Decofetch · luxury furniture05

Luxury furniture e-commerce

Decofetch — a luxury furniture marketplace, built from scratch.

A fully custom designer-furniture marketplace — a server-rendered Next.js storefront over a Laravel API, a bespoke admin, and AWS infrastructure re-architected to cut cost.

outcome
0→live

custom, front to back

engagement
Ground-up build

Next.js · Laravel · AWS

  • Next.js storefront
  • Custom Laravel API
  • Bespoke admin
  • AWS ECS infra
  • SEO & product feeds
Read the case study
Léonia Paris · clean-beauty e-commerce06

Clean-beauty e-commerce

the custom Shopify build behind Léonia Paris.

A certified-organic French beauty brand's Shopify storefront — a bespoke theme plus the features Shopify can't do natively: a real account dashboard, loyalty and referral, gift-with-purchase, and a performance pass. Partners since 2021.

outcome
5 yrs

partners since 2021

engagement
Partnership since 2021

Shopify · Liquid · Custom account

  • Bespoke Shopify theme
  • Custom account dashboard
  • Loyalty & referral
  • Gift-with-purchase
  • Performance pass
Read the case study
PlusHeat · UK boiler & home cover07

Home services · subscription cover

the cover-plan engine behind PlusHeat.

The conversion engine for a UK boiler-cover brand — a custom plan configurator that prices homeowner and landlord cover by call-out fee and billing period, a postcode-lookup lead flow, CRM sync and landing pages. Partners since 2021.

outcome
5 yrs

web partner since 2021

engagement
Web partner since 2021

WordPress · Lead engine · CRM

  • Cover-plan configurator
  • Lead capture + address lookup
  • CRM sync & attribution
  • Landing-page system
  • Design-system rebuild
Read the case study
Shutters 365 · made-to-measure shutters08

Home improvement · e-commerce

the made-to-measure configurator behind Shutters 365.

A factory-direct made-to-measure shutters store — a seven-step online configurator with a live preview and a live per-window price, a free-samples flow, measuring and fitting guides, and the order and supplier tooling behind the factory.

outcome
7-step

configurator, live pricing

engagement
Build & run, since 2026

WordPress · WooCommerce · Stripe

  • Made-to-measure configurator
  • Live per-window pricing
  • Free-samples flow
  • Measure & fit guides
  • Order & supplier ops
Read the case study
BA Engine Room · AI ops platform09

AI ops platform

BA Engine Room — an AI operating system for a consultancy.

A custom AI-native platform that runs an agency lead-to-invoice — AI discovery briefs, e-signed contracts, Stripe deposits and milestone delivery — on Next.js, Supabase and Claude.

outcome
0→1

built from the ground up

engagement
Ground-up build

Next.js · Supabase · Claude AI

  • Lead-to-invoice pipeline
  • AI discovery briefs (Claude)
  • E-signed MSA contracts
  • Stripe milestone payments
  • Client portal & support
Read the case study
Bloc Ads Manager · ad-tech10

Ad-tech · self-serve advertising

a self-serve ad platform for Bloc, built from the ground up.

Bloc for Business — a Meta-style ad platform with PostGIS audience estimation, Python interest targeting, in-app ad serving and reporting that closes the loop to real venue check-ins.

outcome
check-ins

closed-loop attribution

engagement
Built from scratch, live 2026

Next.js · PostGIS · Python

  • Meta-style campaign builder
  • PostGIS audience estimation
  • Python interest targeting
  • In-app ad serving
  • Billing, VAT & credits
Read the case study
Ontick · event ticketing11

Event ticketing & festivals

Ontick moved off Eventbrite onto ticketing they own.

Off a commission marketplace onto their own Laravel ticketing platform — multi-organizer, Stripe instalments, and two native apps.

outcome
£2M+

processed since launch

engagement
Built & run since 2021

Laravel · React Native · Stripe

  • Multi-organizer Laravel platform
  • Stripe instalments & payouts
  • Customer + check-in apps
  • Live door analytics
  • Guest checkout & Apple Pay
Read the case study
Bloc · social events12

Social events & rewards

Bloc — one of the UK’s newest social events platforms.

A four-year partnership across the whole estate — the app, its backend, a TikTok-style ads manager, an Algorand marketplace and the web front.

outcome
4+ yrs

one team, five codebases

engagement
Four-year partnership

React Native · Node · Algorand

  • React Native app + BLOC Replay
  • Backend & APIs (DynamoDB)
  • Bloc Command ops tool
  • Ads manager
  • Algorand marketplace
Read the case study
Zonely · companionship app13

Social · real-time marketplace

Zonely — a pay-by-the-minute companionship app, on both stores.

A two-sided React Native marketplace — consumer app, buddy app, backend and admin — with real-time per-minute billing and the trust-and-safety layer it took to pass App Store review.

outcome
2 apps

consumer + buddy, iOS & Android

engagement
Two apps + admin, live

React Native · Expo · Real-time

  • React Native consumer app
  • Buddy app
  • Real-time metered billing
  • Trust & safety / moderation
  • Wallet & coins economy
Read the case study
Player Profile Hub · grassroots football14

Sports · grassroots football

Player Profile Hub — a safeguarded profile platform for grassroots football.

A verified, safeguarding-first platform for youth football, built from the ground up — FIFA-style player cards, a highlight feed, coach discovery and five profile tiers, on web and a React Native app.

outcome
0→1

built from the ground up

engagement
Built ground-up, launching 2026

React Native · Web app · Video

  • Verified player profiles
  • Highlight feed
  • Document verification & safeguarding
  • Profile tiers & progression
  • Web + React Native apps
Read the case study
DeepSpatial · geospatial AI15

Geospatial AI (public co.)

the web presence behind DeepSpatial, a listed geospatial AI company.

The corporate site, investor pages and Xploor talent platform for a publicly-traded geospatial AI company — a React front end shipped continuously on AWS Amplify.

outcome
2 yrs

one team, ongoing

engagement
Since 2024, ongoing

React · AWS Amplify · IR

  • Corporate site
  • Investor-relations pages
  • Xploor talent platform
  • Global & India editions
  • AWS Amplify
Read the case study
Yippee Malta · travel16

Travel & tours, Malta

the mobile-first rebuild that won Yippee Malta their own checkout.

Malta's leading tour operator rebuilt on a mobile-first design system, with a custom checkout against their proprietary booking API.

outcome
90+

core web vitals, both sides

engagement
Rebuild + custom booking engine

WordPress · Custom checkout · CWV

  • Custom booking engine
  • Deposit payments (JWT)
  • Coupons & affiliate tracking
  • Six languages (Polylang)
  • 90+ Core Web Vitals
Read the case study
Professional Energy · energy brokerage17

Energy brokerage

One platform for Professional Energy’s tenders, contracts and accounts.

A tailor-made ERP for a UK energy broker — supplier tenders, contract lifecycle, brokerage accounting and client management, all in one place.

outcome
100+

suppliers in one tender

engagement
Custom ERP, since 2023

Laravel · ERP · Accounting

  • Supplier tender engine
  • Contract lifecycle & accounting
  • Invoice extraction & validation
  • Half-hourly data & tranches
  • Client CRM + S3 vault
Read the case study

project summaries

more of our work.

These projects include work delivered through partners. Client names are kept private; references are available when we discuss your project.

A UK caravan servicing business

A WordPress marketing site alongside a Laravel back office and customer portal, with a five-role permission model and published service reports.

The shipped schema modelled exactly one vehicle per customer, with the vehicle fields on the customer table. The new design needed many — and roughly fifty files read those columns, a good portion at SQL level where an ORM accessor cannot intercept. Migrated additive-first with an observer-synced mirror, so no file had to change on day one and there was no freeze.

  • Laravel
  • MySQL
  • WordPress
Restructured live, no downtimemore in this sector

An Indian two-sided marketplace

Consumer and expert apps on a shared backend — wallet, coins, paid chat and real voice calls, on both stores.

Apple blocked an update demanding wallet top-up move to in-app purchase, which would have taken the margin with it. Rather than concede, we researched the person-to-person services exemption, benchmarked comparable apps operating under it, and built the appeal on that basis — while scoping a calls-only fallback in parallel in case it failed.

  • React Native
  • Razorpay
  • PSTN
Margin kept, app live on both storesmore in this sector

An Indian outdoor media operator

An operations platform for physical advertising inventory — properties, availability and bookings across a city.

Kiosk properties carry a fixed pole capacity, so availability is not free-or-taken. Multiple advertisers can book the same kiosk simultaneously provided enough poles remain free across the overlapping date range, and the system must refuse anything that would exceed capacity in that window. Closer to airline seat inventory than to a calendar.

  • Web platform
  • Scheduling
Fractionally consumable inventory, modelled properlymore in this sector

A Tata-linked Indian B2B commerce group

A telecalling and delivery-confirmation platform with automated outbound IVR, recipient import, telecaller dashboard and filtering.

Edge functions with two invocation paths — triggered manually by a telecaller with per-recipient data, and run one-by-one from a scheduled job for batch processing — so the calling logic lives in one place rather than being duplicated. Hindi text-to-speech, with the supported language set checked against the provider's documentation before it was committed to.

  • Edge functions
  • IVR
  • Webhooks
Automated outbound confirmation, in Hindimore in this sector

An Indian tea network business

A mobile application on a managed database, on a plan that includes no backups at all.

Rather than making the upgrade a condition, a scheduled job now dumps roles, schema and data nightly and commits the snapshot to a dedicated branch. Every commit is a restorable point-in-time snapshot with restore instructions in that branch's README — and the client took one manual backup first, before trusting the automation.

  • CI
  • Postgres
  • Supabase
Compliance risk converted into a git historymore in this sector

A UK barcode and auto-ID retailer

An OpenCart storefront whose commercial core is an automated product feed from a distributor, staged and synced by a scheduled job.

Titles and descriptions were not pulling through per SKU — the parent product name was being applied to every variant beneath it, so materially different part numbers appeared identical to customers and to search. Fixed at the mapping layer, with a reconciliation check that flags any variant matching its parent.

  • OpenCart
  • Feed sync
  • SEO
Variant-level data restored across the cataloguemore in this sector

An Irish group of certification businesses

A headless rebuild — WordPress as the content backend, Next.js in front, with content modelled in ACF and served through a custom REST namespace.

Roughly nine thousand lines of static country-guide content — the largest file in the repository — retired into editable CMS records. Every guide became a queryable record with typed fields, which is what made the AI content workstream that followed viable at all.

  • Next.js
  • WordPress
  • ACF
Marketing ships without a developer or a deploymore in this sector

A UK grassroots and academy football platform

Players build verifiable profiles with video; coaches are listed, filtered and discovered. Subscription tiers tied to upload limits, plus a React Native companion app.

Three things testing caught that a feature list would not: age-filtered search silently fell back to random results when nothing matched, a coach could be registered as six years old when real qualifications start at fourteen, and document verification accepted the wrong country's ID entirely. All three were trust problems rather than bugs.

  • Next.js
  • React Native
  • Mux
  • Stripe
Video costs modelled before tiers were pricedmore in this sector

A Siliguri food wholesaler

A B2B ordering app across two legal entities, with items, pricing, price lists and customers all sourced live from the accounting ledger.

A single customer can be scoped to one company, the other, or both — with exclusivity enforced on phone number so an exclusive customer cannot be registered against the other entity. GST-inclusive pricing throughout, plus a price-change warning at checkout because an unauthenticated shopper's prices change once their price list is applied.

  • Zoho Books
  • Mobile
  • GST
One app, two entities, one source of truthmore in this sector

A Paris membership publication

A live WooCommerce Subscriptions migration on a revenue-generating base, with two parallel plan types, store credit and custom lifecycle emails.

A fixed cutover date with no rollback. Delivered as must-use plugins so billing-critical code cannot be deactivated by an admin, with Action Scheduler reconciled explicitly — that background runner is where renewals actually execute, and where subscription migrations break silently.

  • WooCommerce
  • Subscriptions
  • PHP
Migrated on the date, no billing incidentsmore in this sector

An Indian biologicals and pharma company

A field sales app for medical representatives, published to both stores with assets produced in-house.

Punch-in and punch-out each capture an odometer photograph plus a manual reading, with in and out kilometres recorded and travel allowance calculated automatically. The scope discipline mattered as much: the client's document specified leave management at the depth of a dedicated HR platform, and we said no and triaged it into a later phase.

  • React Native
  • Expo
  • Zoho
Travel allowance calculated, not claimedmore in this sector

A UK registered charity

A scoping engagement — technical specification, a vendor evaluation tool and a CRM recommendation — ahead of an invitation to tender.

Rather than bid on a paper design, we built a working prototype of the CRM-to-website integration first. It proved the flow end to end, and it surfaced three blockers that would have wrecked a fixed-price bid: no API keys on trial accounts, payments routed through a connected-account model that cannot be tested without live credentials, and a sandbox available only on the top plan.

  • WordPress
  • CRM
  • Integration
Three bid-breaking blockers found before quotingmore in this sector

reviews · verified on clutch

what our clients say

Feedback from the people we work with.

Clutch★★★★★5.0 / 5.0

Across 18 independently published client reviews

They have a deeper technical knowledge than any web designer I've met to date.

01 / 04
Recognised by

faq

common questions

Why are some clients unnamed?

We name clients with their permission. Some projects were delivered through partners, so we describe the work without naming the client.

Does this page show all your work?

This page shows selected projects. Our atlas lists more work by country, client and project type.

Can I talk to any of these clients?

Yes. When discussing your project, we can arrange a reference call with a client whose project is similar to yours.

Do you provide support after launch?

Yes. We maintain and develop several of these platforms. We can also hand the software and documentation over to your team.

tell us about your project.

Book a 30-minute call to discuss what you need to build.

Book a call