We design and build custom web applications—customer platforms, operational tools, portals and dashboards—for organisations that have outgrown spreadsheets, off-the-shelf software or an application built for a smaller version of the business. Strategy, interface design and engineering sit in one Manchester team, working with clients across the UK and worldwide.
20+ years of web and application development. The platforms we've engineered—including our own, Resova—run in over 20 countries and have processed billions of dollars in payments.
A website mostly presents information. A web application does work. People sign in, it remembers who they are and what they've done, it decides what each of them is allowed to see, it processes things that matter—orders, bookings, records, payments—and it has to keep doing all of that reliably as the number of users grows.
That changes what the project is. Custom web application development starts with the job people are trying to finish, not a set of page templates: who the users are, what they repeat every day, where the current process leaks time, and which parts of it are worth automating first. It then carries into decisions that are awkward to reverse—how the data is modelled, how roles and permissions behave, how the application integrates with the systems around it, and how it copes when usage doubles.
It also doesn't finish at launch. An application in daily use generates a steady stream of things nobody predicted, and the ones worth acting on only become obvious once real people are using it. We build with that in mind, and we're still there afterwards.
Somewhere your customers can see their own data, manage their account and get things done without emailing you first. Designed around the handful of tasks they repeat, so the interface stays usable as it gains features.
The systems your team actually runs the business on, replacing the spreadsheets, shared inboxes and manual steps that quietly cost hours a week and break as soon as someone is on holiday.
Applications that take money in front of customers leave no room for friction or doubt. We've built checkout and payment flows at volume, including the unglamorous parts that decide whether people trust the platform.
Reporting that stays fast as records accumulate, and presents the numbers people actually make decisions on rather than every field the database happens to hold.
APIs that let your application be consumed by other systems, and integrations that connect it to the tools your customers and teams already rely on—designed to degrade gracefully when a third party doesn't.
Not every project starts from nothing. We take on applications that need a better interface, new capability or a more scalable foundation, and improve them in a sequence that keeps the live system working throughout.
Web application projects lose most of their time in the gaps between suppliers—a specification handed to a design studio, designs handed to a development shop, and nobody accountable for whether the thing works as a product. We keep it in one team, so the decisions made in discovery survive contact with the build.
Users, workflows, constraints and risk, ending with a scope you can fund and a technical direction that fits it.
Prototypes of the journeys people will use most, tested before engineering starts—the cheapest point at which to change your mind.
A data and access model chosen for how the application will actually be used, then iterative delivery by the people who designed it.
Testing, review and sensible security practice built into delivery rather than bolted on before launch.
Deployment, monitoring and a working relationship that continues while the application grows and the priorities change.
We've built, operated and sold our own web platform, not only delivered them for clients.
20+ years of web and application development experience in one small, senior team.
Strategy, design and engineering in-house, so nothing is lost in the handover.
Applications we've engineered run in over 20 countries and have processed billions of dollars in payments.
Resova is the clearest example, because we carried the risk ourselves. It began as a problem we hit doing someone else's job: Breakout needed online booking for a new venue, and nothing on the market fitted how attractions actually operate. So we built it—two quite different applications, in fact. A fast, mobile-first booking journey for guests, and a back office where staff could manage bookings, schedules, staff and payments without training.
That meant settling the hard things early: how each venue's data stays separated from every other venue's, how roles and permissions work inside an account, how reporting holds up as bookings accumulate, and how payments behave when a card is declined or a booking is refunded. Resova went on to serve more than 1,000 venues across over 20 countries and process billions of dollars in payments before being acquired by ClubSpeed.
Hideout Festival tested a different property: what happens when demand arrives all at once. Tickets and accommodation sold through to a complete sell-out, and the platform was then adapted for other events across the Ticket Arena and Event Genius portfolio—which is usually the real test of whether an application was built for one job or built properly.
See the case studiesVenues running daily operations on a platform we designed and built.
Countries those applications operate in around the globe.
In payment volume processed across the platforms we've engineered.
Platforms we've built that were acquired by global software leaders.
Before anything is designed we work out what the application has to do. That means the people who'll use it and the job they're trying to finish, the process it replaces and where that process currently leaks time, the systems it has to talk to, and the constraints you're working within. The output is a defined scope, a prioritised roadmap and a technical direction—enough to make a funding decision with your eyes open.
Application interfaces are used daily, often for hours, by people with work to finish. We design for that: a clear information hierarchy, screens that match how the job is actually done, and an interface that stays coherent as features accumulate. We prototype the core journeys so you can use the application before it's engineered, which is the cheapest possible point to discover something is wrong.
We build the application itself: the data model, accounts and permissions, the core workflows and the screens people live in. We choose an architecture to suit the product rather than applying the same stack to every brief, and we deliver in iterations so you see working software early and often. The aim is a codebase that's still quick to change in year three, not only in month three.
Most applications have to exchange data with systems their users already rely on, and many have to take money. We build the APIs that let your application be consumed elsewhere, the integrations that connect it to payment providers, CRMs, accounting systems and internal services, and the payment and checkout flows themselves—including the parts that are easy to underestimate, like failed payments, refunds and changes of plan.
An application in daily use is a live service, so the work around the code matters as much as the code. We test through delivery rather than in a panic before launch, automate deployment so releases are routine, and monitor the application once it's live. Security is a running concern—access control, data handling, dependencies and infrastructure—rather than a certificate collected once.
Five stages, run as a loop rather than a relay. We work alongside your team throughout, and the later stages feed back into the earlier ones once real users get hold of it.
Users, workflows, the process it replaces, the systems around it and the risks worth testing early.
Scope for the first release, the roadmap behind it, and the architecture and data model to support both.
Prototype the journeys people will use most and validate them before engineering begins.
Iterative engineering, integrations, QA, security and deployment, with working software throughout.
Monitoring, user feedback, optimisation, new capability and scaling as usage grows.
Some choices are cheap to make at the start and painful to unpick once an application is live and holding real data. These are the ones we settle before building features on top of them.
How the data is structured decides what the application can do later, how fast it stays as records pile up, and how painful the next feature will be. We spend time on this before writing screens: what the core entities are, how they relate, what has to be reportable, and what the application will be asked for in two years that it isn't being asked for now. Reworking a data model under a live system with real customer records in it is one of the more expensive things you can do, so it's worth the early hours.
Real organisations have teams, and teams have roles. We build authentication and role-based permissions that reflect how your users actually organise themselves—owners, managers, staff, read-only, external partners—with the granularity the application genuinely needs rather than an access model that has to be redesigned the first time someone asks for a restricted login. Sessions, invitations and account recovery are treated as part of the product, not an afterthought.
Applications rarely get slow all at once; they get slow gradually, as data accumulates and more people use them at the same time. We design queries, reporting and background work so they hold up as volume grows, and plan infrastructure that can scale with demand rather than falling over on the busiest day of the year. Where load arrives in concentrated peaks—an on-sale, a deadline, a seasonal rush—we build and test for that pattern specifically.
Anything holding customer data or taking payments has obligations attached, and most of them are met through routine practice rather than a one-off audit. We handle access control, careful treatment of personal and payment data, dependency management and monitoring, and automate deployment so shipping a fix is routine rather than an event. If you have your own governance, hosting or compliance requirements, we work inside them.
You can see the opportunity clearly, but the product is still a set of assumptions and you need to reach real users without spending the entire budget finding out you were half right.
We help define the smallest version that proves it, build it properly, and get it in front of people—then use what they do to decide what comes next. If it's a subscription product, our SaaS development work covers that specifically.
The application works and people rely on it, but shipping has slowed, the interface is straining under features it was never designed for, and larger customers are asking for things it can't yet do.
We come in alongside your team to improve the experience, add capability and strengthen the foundations, sequenced so the live system keeps working throughout.
You have an operation running on spreadsheets, email and ageing internal systems, and a plan to turn that into something your team—or your customers—can actually use.
We bring the product and engineering capability to make that a proper application, working within the governance, security and integration requirements you already have.
A guest booking journey and an operator back office, running in over 20 countries.
Ticketing and accommodation booking built to hold up under concentrated peaks of demand.
A website and integrated booking flow, franchised across six countries.
A website mostly presents information: the same pages, shown to everyone, finished when they launch. A web application does work. People sign in, it remembers who they are and what they have done, it enforces what each person is allowed to see, it processes things—orders, bookings, records, payments—and it has to keep doing all of that reliably while the number of users grows. That difference shows up in the build. A web application needs a data model, an access model and an architecture chosen for how it will be used, and those decisions are difficult to unpick later. It also needs support and iteration after launch, because it is a live service rather than a finished artefact.
Cost follows scope, so the honest answer is a range against a defined brief rather than a number in advance. What moves it most is the number of distinct user journeys, how many roles and permission levels the application needs, how much it has to integrate with other systems, and how much discovery and design is required before engineering starts. A focused internal tool with one workflow and two user types is a very different proposition to a customer-facing platform with billing, reporting and half a dozen integrations. We would rather scope it properly than quote blind, so we start with a conversation about what the application has to do and give you a realistic range once the scope is clear.
It depends on how much of it has to exist on day one, which is the decision that changes a timeline more than any other. The most useful early work is usually separating what the first release genuinely needs from what can follow it—that often halves the time to something real people can use. We give estimates after discovery and definition, once the scope, the user journeys and the technical approach are agreed, rather than committing to a date before anyone knows what is being built. Once we start, we deliver in iterations, so you see working software early and regularly instead of waiting for one delivery at the end.
Often, yes. We take on applications where the original team has moved on, where the interface has fallen behind what users now expect, or where shipping anything new has become slow and risky. We start by understanding the current codebase, data model and infrastructure before proposing anything, then agree a sequence: what to improve first, what to leave alone, and what genuinely needs rebuilding. A full rewrite is occasionally the right answer but it is rarely the cheapest one, so the default is to keep a live application stable and working while it improves around the parts that matter most.
Yes, and for most applications it is a significant part of the work. We build APIs so your application can be consumed by other systems, and we consume third-party APIs so it can talk to the tools your users and customers already depend on—payment providers, CRMs, accounting systems, internal services. The important part is designing those connections to fail safely: retries, sensible timeouts, queued work and clear error handling, so that a third party having a bad day degrades one feature rather than taking the whole application down.
Yes. We design and build responsively, and where a journey is genuinely mobile-first we treat it that way from the start rather than shrinking a desktop layout at the end. Resova is a useful example: guests book on their phones while operators run the back office on a laptop, so the same platform had to serve two quite different contexts properly. We work out early which users are on which device for which task, because that shapes the interface rather than being a finishing touch.
We choose the stack to suit the application rather than applying the same one to every brief. In practice that means modern, well-supported web technologies with a large talent pool behind them, chosen so you are not locked into anything obscure and could hand the codebase to another team if you ever needed to. The decisions that matter more than the framework are the data model, the tenancy and access model, and how the application is deployed and monitored—those are the ones that determine whether it is still quick to change in year three.
Yes. A web application is a live service, so launch is where the real work starts. We monitor performance and errors, watch how people actually use the product, and work through a roadmap of improvements and new features with you. Real users always reveal things research and prototyping do not, so the months after launch are usually the most valuable period for learning. We support applications long term, scaling infrastructure and evolving the platform as usage grows.
Whether it's a new application, an internal system you've outgrown, or an existing platform that needs rebuilding around what the business does now, we'd like to hear about it. The first step is a conversation about the work it has to do and where you've got to so far.
Discuss your web appPrefer email? hello@walkerthomason.com