Next Project Contacts

The stack we build and measure with.

One bench, one stack. Frontend, backend, mobile, cloud, data, commerce, CMS, test automation and the measurement layer that reports on all of it.

Nothing is on this page because it trended. Every group below opens onto the pages where we argue the trade-offs in full.

Two engineers at a long workbench at night, one typing on a laptop while the other checks a phone under a warm desk lamp.
  • Hiring A stack we can staff for
  • Longevity Still maintained down the line
  • Fit The problem, not the fashion
  • In use Every tool ships real work

Stack map

Every layer. Every tool we ship.

One bench, nothing hidden behind a tab. Each badge opens the page that says what we do with that tool, where it fits, and when we talk a client out of it.

The rule behind every choice is on our stack and channels page: can we hire for it, will it still be maintained down the line, and does it fit the problem rather than the fashion.

Frontend

React for application UI. Next.js when a product needs server rendering. Astro when a site is mostly content and nothing needs a server at all.

TypeScript runs across all three, and the styling sits on a token layer rather than scattered rules — which is what lets a design system survive more than one redesign.

Backend

Node.js and Python carry most of the work. Go shows up where throughput matters and the cost of a slow request is real money.

GraphQL when several clients need different shapes of the same data — and a plain REST endpoint when they do not.

Mobile

Native when the app leans on the device — camera, sensors, background work, anything the platform does better than a bridge.

Cross-platform when the screens are mostly forms, lists and sync. The trade-off is argued per project, never settled by policy.

Cloud and delivery

Two clouds, containers orchestrated rather than hand-placed, and environments described in code.

That last part is the point: staging is a copy of production rather than a rumour about it, so a deploy stops being an event.

AI

Language features first. Agents when the system has to act, inside limits somebody agreed to. Assistants on the support and sales surfaces, where a handover to a person beats a confident guess.

Classical machine learning when a rule genuinely cannot do the job — and a rule when it can.

Data and databases

PostgreSQL by default, and it stays the default until something specific argues otherwise. Document storage where it fits the data better than rows.

A cache and a queue in front of the hot paths, and a warehouse once reporting outgrows the application database — which it always eventually does.

Commerce

Shopify for speed to market. WooCommerce when the catalogue lives beside the content and one team edits both.

Headless when the storefront has to be its own product, with its own release cycle and its own front end.

Content platforms

WordPress where an editorial team already lives and retraining them would cost more than it saves. A headless CMS when one content set feeds several front ends.

Webflow for marketing sites a marketing team should own without us in the loop.

Quality and automation

End-to-end cover on the journeys that must never break — checkout, signup, payment, whatever your revenue runs through.

Run on every merge rather than in the week before launch, which is the only version of this that ever catches anything.

Marketing technology

Analytics configured against real questions instead of every event a library can emit. A tag manager kept small on purpose. Server-side collection where browsers have stopped cooperating.

And a CRM closing the loop from form to revenue, because that measurement work is the spine of everything we optimise afterwards.

Choosing between them

Most of these tools can build most of these products. The interesting decision is rarely the language — it is who maintains this down the line, what the reporting has to answer, and how quickly a change can reach production. We put those questions first and let the shortlist fall out of the answers.

The list stays short on purpose

This is the working list, not an aspiration list. A tool earns a place on it by being in production on work we are still responsible for, and it loses that place quietly when it stops being the answer. Nothing is here because it trended. If you want any of it argued against your own project, tell us what you are building.

Discuss the next step

Tell us what you want to build or improve. We reply with a plan, an indicative budget and a start date.