What we build
Most of the platforms we build are B2B or two-sided SaaS products, where several kinds of user work on the same data and the product has to connect to systems the client already runs.
- SaaS products with sign-in, roles, billing and admin tools
- Data-heavy dashboards and analytics, such as earned value, performance and forecasting views
- Two-sided platforms with profiles, bookings, ticketing and payments
- Integration layers and middleware that connect your product to accounting, telephony and automation tools
- Internal tools that replace spreadsheet-based reporting
- AI features inside the product, built through our AI agents and LLM service
Architecture that holds up as you grow
We keep the architecture as simple as the product allows and add structure only where it pays for itself. A single, well-organised application suits most early products. Separate services make sense when parts of the system change on someone else’s schedule, as Kaivo’s ad-platform integrations do, so one outage doesn’t take the rest of the product down with it.
Slow work stays out of the web request. File parsing, data syncs and calls to outside APIs run as background jobs with Celery and Redis, so a large upload returns straight away and the result is ready when the job finishes. That pattern is what lets Hallward process large Primavera schedules without freezing the browser or timing out at the gateway.
Integrations get the same care as the core product. We build them with retries, backoff, duplicate-event filtering and logging, because a third-party API will eventually fail, rate-limit you or send the same event twice.
Case studies: Hallward, Kaivo, Evntt and Carbon Giant
Hallward is a construction intelligence platform for project-controls teams on roads, rail and pipeline programmes. It parses Primavera P6 schedules into Earned Value, Critical Path, Time Chainage and milestone dashboards, on React, Django REST, PostgreSQL, Celery and Redis, with AWS Cognito for sign-in.
Kaivo gives advertising agencies one portal for client ad accounts across eight channels, with a Next.js front end, FastAPI microservices and an in-product AI assistant, deployed on Cloudflare and AWS.
Evntt is a two-sided platform for event hosts and guests: branded profiles with live-preview customisation, ticketing, analytics, merchandise and instant promotion through QR codes and share links. It runs on React, TypeScript, Node.js and PostgreSQL, with Stripe billing and AWS hosting.
Carbon Giant’s Carbon-Passport turns invoices and Xero, QuickBooks and Sage data into SECR-ready Scope 1–3 emissions reports, with OCR through AWS Textract and a single accounting integration through Apideck.
Payments, sign-in and integrations
Much of a SaaS product’s value depends on what it connects to. These are integrations we’ve built into products we’ve shipped.
- Payments and billing: Stripe and Affirm
- Sign-in: AWS Cognito, NextAuth.js and Firebase Auth
- Accounting data: Xero, QuickBooks and Sage through Apideck
- Messaging and automation: RingCentral SMS events forwarded to Zapier, and email through Nodemailer
- Health and research data: Terra for wearables, and REDCap Cloud
- Venue systems: POS and reservation platforms, in CityOS
The stack we use
We pick tools that fit the product and the team who’ll own it after handover. These are the ones we use most for web platforms.
- Front end: React, Next.js, TypeScript and Tailwind CSS
- Back end: Python (Django REST, FastAPI, Flask) and Node.js
- Data: PostgreSQL, MongoDB, Redis and SQLite
- Background jobs: Celery and Redis, plus webhook-driven async processing
- Desktop, when the job needs it: Electron, as in Cosmic IDE
- Hosting: AWS and Cloudflare
What you get
- A written scope and architecture covering users, data, integrations and hosting
- A production web application, deployed in your own cloud account
- APIs and integrations with retries, logging and monitoring
- Sign-in, roles and billing set up for your business model
- Regular demos and a staging environment you can test on throughout the build
- Source code, documentation and a handover session for your team
How it works
1.Discovery and scope
Before the build
An NDA if you need one, then a working session on your users, your data and the systems the product must connect to. You get a written scope, architecture and price before any work starts.
2.Design the core
Early in the build
We agree the data model, the main user journeys and the riskiest integration first, because those are the decisions that are hardest to change later.
3.Build
Agreed milestones
Features delivered in working increments, with regular demos on a staging environment so you can test as we go.
4.Launch
Before go-live
Load and failure testing on the slow paths and integrations, monitoring and alerts in place, then release to real users.
5.Hand over
At launch
Documentation and a handover session, so your team can run and extend the product. If you’d like us to keep building with you, an ongoing retainer is priced on request.
Proof

Story No. 04Construction & Infrastructure
Primavera P6 project-controls reporting, without the spreadsheet rebuild
Hallward
Story No. 01Marketing & AdTech
Every client’s ad channels in one workspace, with wasted spend caught sooner
Kaivo

Story No. 12Events & creator economy
One place for small hosts to brand, ticket and promote their events
Evntt
Story No. 02Climate & ESG
Turning supplier invoices and ledgers into carbon figures an auditor can check
Carbon Giant
“They acted as true collaborators who cared about the success of the product as much as I did.”
Price
From£12,000
For a scoped first release, from architecture to launch, with regular demos and a full handover. Every engagement starts with a free one-hour call, and you get a written scope with a fixed or capped price before any work starts.
FAQ
Our Build Projects start from £12,000 for a scoped first release. The price depends on the number of user types, the integrations involved and how much data processing the product does. You get a written scope with a fixed or capped price before any work starts.
Usually not at the start. A single, well-structured application is faster to build and cheaper to run. We split out services where there’s a clear reason, such as integrations that change on a third party’s schedule or heavy processing that needs to scale on its own.
Usually React or Next.js with TypeScript on the front end, Python (Django or FastAPI) or Node.js on the back end, and PostgreSQL for data. If your team already works in one of these, we’ll fit to it, so the product is easy for them to own.
Usually, yes, if they offer an API, webhooks or a data export. We’ve built integrations with accounting systems, telephony, payment providers, wearables platforms and research databases. We check the specific systems in discovery before committing to a scope.
Yes. Several of the platforms we’ve built include AI inside the product, such as Kaivo’s “Kai” assistant and Hallward’s AI-assisted activity categorisation. Our AI agents and LLM service explains how we test and control those features.