Bespoke Web Application Development
Custom software for the way your business actually works, built in TypeScript, integrated with the tools you already use and looked after once it's live.
Talk to us about your projectWe build bespoke web applications for UK businesses: internal tools, customer portals, dashboards and booking or operations systems. Most of our projects replace a process that's outgrown spreadsheets or a stack of SaaS tools held together with copy and paste. We integrate with the systems you already use, and we host and maintain what we build.
What kind of web applications do we build?
The common thread is a business process that matters, done by people every day, that current tools handle badly. Typical projects include:
- Internal tools for jobs, stock, quotes or approvals, where the logic is specific to how you work
- Customer portals where clients log in to see orders, documents, invoices or project status
- Dashboards that pull figures from several systems into one place, so nobody builds a weekly report by hand
- Booking and operations systems with availability rules, staff schedules, reminders and payments
- Headless Shopify storefronts built on Next.js, for brands that need a custom front end on top of Shopify's checkout and admin. Our Shopify development page covers this in more detail
We build these with TypeScript throughout: Next.js for the interface, NestJS for the API when there's real business logic, PostgreSQL with Prisma for data, and Redis for background jobs and queues.
When does a spreadsheet stop being enough?
Spreadsheets are brilliant, and plenty of businesses run well on them. The warning signs are familiar. Several people edit the same file and overwrite each other. Someone keeps a "master" copy that's always slightly out of date. Formulas break when a row is inserted. Customer data gets emailed around as attachments. One person understands how it works, and everyone worries about them going on holiday.
The same goes for a patchwork of SaaS tools. Each one is fine on its own, but the work happens in the gaps: exporting from one, cleaning it up, importing into another. Zapier can hold some of that together, though it gets fragile as the number of steps grows and it's hard to see what failed and why.
A bespoke application puts the data in one database, with one set of rules, and gives each person a screen that shows what they need.
Bespoke or off-the-shelf software?
Off-the-shelf usually wins, and we'll tell you if we think it does. Accounting, payroll, email, a CRM for a standard sales process: these are solved problems, and paying a monthly fee for a mature product beats building your own.
| Off-the-shelf | Bespoke | |
|---|---|---|
| Upfront cost | Low | Higher |
| Ongoing cost | Per-user subscription, rising with headcount | Hosting and maintenance |
| Fit to your process | You adapt to the software | The software fits your process |
| Time to start | Days | Longer, depending on scope |
| Integrations | Whatever the vendor supports | Whatever has an API |
| Control | Vendor sets the roadmap and pricing | You own the code and data |
Bespoke makes sense when your process is part of what makes the business work, when you're paying for several tools to do one job badly, or when per-seat pricing has become a real cost. Often the answer is a mix: keep Xero and your CRM, and build the piece in the middle that connects them.
Can it connect to our existing systems?
Almost certainly, if they have an API. We regularly connect applications to accounting software, CRMs, payment providers, ecommerce platforms, email services and shipping tools. Where a system has no API, there's usually a fallback, such as scheduled file imports or reading from a shared mailbox, though these are less reliable and we'll say so.
Integrations are where a lot of the real work sits. We handle retries when a third party is down, webhooks that arrive twice or out of order, rate limits and API changes. Sync jobs run in the background with logs you can check, so a failure is visible rather than silent. If your integrations are Shopify-specific, see our Shopify integrations work.
How do you keep it secure?
Business applications often hold customer details, financial figures or staff information, so we treat security as part of the build:
- Authentication with better-auth, including email and password, single sign-on with Google or Microsoft, and two-factor authentication where it's needed
- Roles and permissions checked on the server for every request, not just hidden buttons in the interface
- Encrypted connections, secrets kept out of the codebase, and dependencies kept up to date
- Audit logs for sensitive actions, so you can see who changed what
- Regular backups with point-in-time restore on the database
We build with UK GDPR in mind: collecting only the data you need, making it possible to export or delete a person's records, and keeping track of where data is stored. We're developers, not lawyers, so we'll work with whoever advises you on your obligations rather than give legal advice ourselves.
Our process
- Discovery call: we talk through the process you want to improve and who uses it.
- Written scope and fixed quote: a plain-English document of what's being built, with a fixed price.
- Build in short iterations: you get a staging environment early and see real progress regularly, using your own data where it's safe to.
- Review: the people who'll use it day to day try it properly before launch.
- Launch: we move data across from spreadsheets or old tools, set up production, and support the switchover.
- Support: ongoing hosting, maintenance and improvements, or a clean handover to your own team.
Hosting and maintenance
We host on Vercel and DigitalOcean, with a managed PostgreSQL database on Neon. Accounts sit in your name, and the code lives in your GitHub organisation. Every change goes through staging before production.
Software needs looking after. Frameworks release security patches, third-party APIs change, and your process will shift over time. We offer ongoing maintenance covering updates, monitoring, backups and small improvements, so the application keeps working after the launch email has been forgotten.
If you're a founder building a product for customers rather than a tool for your own team, our MVP and SaaS development page is a better fit. If your staff or customers need it on their phones, we can add a React Native app on the same API.
FAQs
How much does a bespoke web application cost?
It depends on the scope: the number of screens, user types, integrations and how complex the business rules are. We don't guess. After a discovery call we write a scope and quote a fixed price for it, so you know the cost before any work starts.
Can you replace our spreadsheets without losing data?
Yes. Migrating data is part of the job. We map your spreadsheet columns to the new structure, clean up duplicates and inconsistencies, and run test imports on staging so you can check the results. The old spreadsheets stay untouched until you're happy the new system is right.
Who owns the software?
You do. The code is in your GitHub organisation and the hosting accounts are in your name. If you later want another developer or an in-house team to take it on, they can, using a standard TypeScript stack with setup documentation included.
Can you work with our existing software rather than replacing it?
Often that's the best approach. Many projects keep the tools that already work well, such as accounting or CRM software, and build a focused application that connects them and handles the part they don't cover. We'll suggest the smallest build that solves the problem.
Do you build headless Shopify storefronts?
Yes. We build custom storefronts in Next.js on Shopify's Storefront API, keeping Shopify's checkout, admin and apps. It suits brands that want full control over design and performance. For many stores a well-built theme is the better choice, which we cover under Shopify theme development.
Have a process that's outgrown its tools? Get in touch and we'll talk it through.