Technology

How we build

A detailed account of what we use, why, and what you receive at the end. Written for a business owner who wants to understand what they are paying for, and for the technical adviser they may ask to check it.

Four principles

The right platform for the job, not one platform for everything

A content website is best served by WordPress or Webflow. A store by Shopify or WooCommerce. A booking engine or a member application by purpose-built code. We choose per project, and we say why in the proposal.

Standard where standard is good enough

Payments, recurring billing, card data and email delivery are handled by platforms built for them. We write custom code for the part of your business that is actually specific to you.

Everything connected through its proper interface

Shops, applications and automations talk to each other through APIs and webhooks, not through someone copying between tabs. If a connection fails, it fails loudly and we are notified.

You own the result

Accounts are opened in your name. Domain, hosting, store and code are transferred to you on completion. We document what we built so that another team could take over if you ever wanted them to.

Technology

The stack, layer by layer

Websites

WordPress

Our default for business websites. Editable by the client, backed by a vast ecosystem, and hosted on our managed servers with daily backups and automatic updates.

Webflow

For design-led sites where visual precision matters and the content model is simple, such as portfolios and studios.

Static builds

For sites that rarely change and must be very fast and very secure, we generate plain HTML with no server-side code at all. This site is built that way.

E-commerce

Shopify

Checkout, payments, subscriptions, taxes and fraud prevention are handled by the platform. We configure, theme and extend it, and we connect it to whatever sits behind it.

WooCommerce

When a store must live inside an existing WordPress site, or needs flexibility that Shopify's model does not allow.

Tracking

Meta Pixel and Conversions API, Google Ads conversion tracking and GA4, configured so that advertising spend is measured against actual orders rather than page views.

Applications

Python backends

Our custom applications, from booking engines to member areas, are written in Python with a PostgreSQL database. It is a mature, readable stack that any competent developer can maintain.

PostgreSQL and Supabase

Our standard database. Where a project needs authentication, storage and an API out of the box, we run self-hosted Supabase on top of it. Access rules are enforced in the database itself with row-level security.

Interfaces

Mobile-first web interfaces, often as single-page applications, served directly by the backend. No app-store submissions, instant updates.

Automation and data

n8n

Our workflow engine for connecting systems: a new order creates an invoice, a form submission updates the CRM, a daily report is assembled and emailed. Self-hosted, so your data stays on your infrastructure.

Scheduled scripts

Python scripts under systemd timers for collection, import and reconciliation jobs. Idempotent by design: they can be re-run safely.

Dashboards

Single-page HTML dashboards reading from the database, with charts and KPI cards. No licence fees, no per-seat pricing.

Infrastructure

Servers

Virtual servers in the EU for applications and data, with nginx, systemd-managed services and SSL throughout. Managed hosting for client WordPress sites.

Backups and monitoring

Daily database and file backups, retention policies, disk and service monitoring with alerts to our team.

Payments and email

Stripe for custom payment flows, Shopify Payments inside Shopify, and transactional email through a dedicated provider so that vouchers and confirmations arrive reliably.

Technology

What a connected system looks like

A typical e-commerce setup we deliver. Each box is a component we have built or configured in a live project; the arrows are real integrations, not aspirations.

Security, privacy and reliability

Card data

We never store it. Payments go through Shopify or Stripe, both certified for the purpose.

Access

Each person and each system gets the minimum access needed, with separate credentials. Access rules for shared platforms are enforced in the database.

Data residency

Our servers are in the European Union. Client data does not leave it unless a platform the client has chosen requires it.

Backups

Daily, automated, tested. We have restored from them and we know how long it takes.

Updates

WordPress core, plugins and server packages are kept current on a schedule. Custom applications are built on long-term-support versions.

Failure

Integrations are written to fail visibly. A broken connection raises an alert rather than silently dropping orders.

What you receive

  1. Accounts, domains and hosting in your company's name.
  2. The complete source code of anything custom, in a repository you control.
  3. A written description of the system: what each component does, where it runs, how to reach us and how to reach someone else.
  4. Access credentials delivered securely, never by plain email.
  5. A monthly care option if you would rather we kept looking after it. Most clients choose this; none are obliged to.

Start a conversation