
Swiss life-sciences company
A complete website build for a Swiss life-sciences company, connecting product orders and business systems alongside events, blogs and a resource library.
Delivered through an agency partnerExplore the case studyYou have sold the work. We build it. Everything we produce ships under your name, to your process, to the scope and delivery dates we agree together.

A complete website build for a Swiss life-sciences company, connecting product orders and business systems alongside events, blogs and a resource library.
Delivered through an agency partnerExplore the case studyWhite-label web development is a build carried out by one team and delivered under another company’s brand. Your agency sells and presents the work, and we build it.
We are contracted by your agency. Our agreement is with you. We have no agreement, no invoice and no relationship with your client.
We follow your repository conventions, branch names and documentation format. Progress goes to your team, and we join client calls only when you ask us to.
You keep the client relationship, the scope conversation and the presentation. We keep the build.
The range below is what we take on as an agency’s build team. If your project sits between two of these, it is still a project we can scope.
Custom themes built from your designs, block editor work, ACF-driven templates, plugin development where an off-the-shelf plugin does not fit, and multisite. We build to your designs rather than adapting a purchased theme, and we hand over a codebase your team can pick up.
Shopify and WooCommerce store builds, with payment, shipping and business-system integrations scoped around your client’s requirements. We can help choose the platform or work with the one already agreed.
Next.js, React, Vue and Nuxt front ends, Tailwind design-system implementation, headless builds against WordPress or a commerce backend, and static prerendered marketing sites. If your designer works in Figma and your client wants a WordPress editor behind a decoupled front end, that is a normal engagement for us.
Content and CMS migrations, moving a site between hosts or platforms, and rebuilding a legacy site without losing its URLs. Redirect mapping, canonical handling and metadata parity are part of the build, not an afterthought your client’s SEO consultant raises three weeks later.
Core Web Vitals work, hack recovery and clean-up, and inherited codebases that need to be made maintainable before anything new can be added. This is often how an agency first works with us: something is broken, the deadline has not moved, and the person who built it is gone.
Three of the areas above have a page of their own. Start here if you already know which one the work is.
You send the brief. Whatever you already have. A Figma file, a client scope document, a Slack thread, a bug list. You do not need to rewrite it for us.
We scope it. You get a written breakdown: what we will build, what we have assumed, what we need from you, and what is explicitly not included. If something in the brief will not work, you hear it here, before you have committed to a date with your client.
We build. Work lands in your repository or ours, your call. You get a fixed check-in rhythm and one named point of contact, so nobody on your side has to chase for status.
We hand over. Documented, deployed and demonstrated to your team, so you can present it as your own.
Handover is a deliverable, not an email. Every project ends with:
After that the code is yours. You are not locked into us to change it, and if you would rather we kept running it, support and maintenance is a separate, optional agreement.
CRM and licence management for a teleprompter manufacturer, plus a custom API so hardware can activate and validate licences in the field.
Delivered through an agency partnerExplore the case study
Full build and ongoing maintenance for a multi-location quick-service brand, connecting store geolocation with live opening-hours information across the estate.
Delivered through an agency partnerExplore the case study
An interactive product finder for a UK skincare brand, letting customers follow a questionnaire or upload a selfie to receive a personalised skin report and product recommendations.
Lead development within an agency teamExplore the case studyPermanent hiring creates a fixed cost, even between projects. We are capacity when the work is there and nothing when it is not. No recruitment, no notice period, no bench.
We do not compete on price and we will not pretend otherwise. What you get instead is that you brief once and do not project-manage the build. The work comes back done, in your timezone, in your working hours, having already had the questions asked that a marketplace developer would have silently guessed at.
A good freelancer is excellent until they take a full-time role or go quiet in week six. You are buying continuity: a team, a defined response commitment and a published SLA, rather than one person’s calendar.
The question every agency owner is actually asking is whether we will end up talking to your client. Our answer is written down, on this page, in the terms we operate under — not implied.
We also build and run our own software products. That is not a side business; it is the reason our handovers look the way they do. Code we have to maintain ourselves for years teaches you quickly what a codebase is like to inherit.
Yes, we can sign an NDA. Send yours over and we will arrange it before any brief or client detail changes hands. NDAs are available on request, and we are used to agencies asking for one before the first call. It fits how the engagement works in any case. We are contracted by your agency, our agreement is with you, and we have no agreement, no invoice and no relationship with your client. Nothing we build carries our name, and progress goes to your team rather than to the client. If your NDA needs to cover the repository, the designs, the client’s data and the fact that we are involved at all, that is normal. Send it with the brief and we will return it signed, so the paperwork is done before the scoping conversation starts.
Your client will not know we exist from anything we produce. Nothing we build carries our name. There is no credit link, no footer mark and no admin badge, and we do not contact your client. Our agreement is with your agency, and we have no agreement, no invoice and no relationship with the client. Progress goes to your team, and the handover documentation is written in neutral language you can rebrand. Whether you tell the client that you use a build partner is entirely your decision. Some agencies do, most do not, and it changes nothing about how we work. If you want us on a technical call, that happens at your invitation and under your introduction. Otherwise you keep the client relationship, the scope conversation and the presentation, and we keep the build.
No, you do not have to change how you run projects. We work to your process, your tools and your terminology. If your team lives in Jira, we are in Jira. If your client’s approvals happen in a weekly call you run, we build around it. We follow your repository conventions, branch names and documentation format, and work can land in your repository or ours, whichever you prefer. You brief us in whatever format you already use: a Figma file, a client scope document, a Slack thread or a bug list. You do not need to rewrite it for us. What we add is a written scope before the build, a fixed check-in rhythm and one named point of contact, so nobody on your side has to chase for status. Everything else stays the way your agency already does it.
You own the code, on handover. You get the full repository, with no licence conditions of ours attached to it. Handover is a deliverable rather than an email. It includes the repository with a readable commit history, a README that tells your team how to run it, deployment and build instructions, and the environment variables the site needs. You also get a short written guide for whoever edits the content, written in neutral language you can rebrand, and a walkthrough call with your team. After that the code is yours to change, host and present as your own. You are not locked into us to maintain it. If you would rather we kept running it, support and maintenance is a separate, optional agreement, and nothing in the codebase only works while we are involved.
If you hold a support agreement with us, a fault after handover is covered under our SLA. If you do not, you can still send it to us. It goes into the queue as new work rather than as an incident, so it is scheduled alongside other projects rather than picked up under a response commitment. Agencies that resell care plans to their clients usually take the support agreement, so the escalation path exists before it is needed. That agreement is separate from the build and optional, and it can be run under your brand as your care plan. Handover also includes a list of anything we deliberately left out of scope, so a missing feature does not surface later as a fault. Either way, the repository and documentation are yours, so another developer could pick the work up if you preferred.
We handle scope changes the same way you would want your own developers to. Anything outside the written scope comes back to you as a short note with the cost and the schedule impact before we build it. You then decide whether to absorb it, bill your client, or drop it. The written scope you receive at the start sets out what we will build, what we have assumed, what we need from you and what is explicitly not included, so it is clear when a request falls outside it. Changes inside that scope are simply part of the build. Because work lands on a fixed check-in rhythm with one named point of contact, changes tend to surface early rather than at the end. If something in the original brief will not work, you hear it at scoping, before you have committed to a date with your client.
Yes, we can work directly with your client when you put us in the room. Some agencies want us on technical scoping calls or handover sessions because it is faster than relaying. That happens at your invitation, under your introduction, and it stops when you say it stops. Our agreement stays with your agency throughout. We have no agreement, no invoice and no relationship with your client, and we do not contact them outside the sessions you arrange. By default we do not join a client call unless you put us in it, and progress goes to your team. You keep the client relationship, the scope conversation and the presentation. Being in the room for a technical question does not change any of that, and it does not turn into a second relationship that runs alongside yours.
How quickly we can start depends on what is already in the schedule. That is why the first call is short and specific: a 30-minute call about the work you have on, rather than a pitch. Send the brief in whatever form you have it and we will come back with a written scope, what we have assumed, what we need from you and a realistic start. If we cannot hit the date you have promised your client, you will hear that on the call rather than in week three. We are capacity when the work is there and nothing when it is not, with no recruitment and no notice period, so a start is usually a scheduling question rather than a hiring one. Rescue work is often how an agency first works with us, when something is broken and the deadline has not moved.
Share the brief, the deadline and the part you are unsure about. We’ll review the work and come back with the next questions.
Not an agency? See what we build direct
Step 1 of 2