Initialising

Technology

The stack, and why each piece is in it

We are deliberately boring about infrastructure and deliberately careful about AI. Thirty technologies in active use, chosen for maintainability after we leave.

PythonLanguageFlaskFrameworkDjangoFrameworkReactFront endNext.jsFront endNode.jsRuntimeJavaScriptLanguageTypeScriptLanguageHTML5MarkupCSS3StylingTailwindStylingJavaLanguageSpring BootFrameworkMySQLDatabasePostgreSQLDatabaseMongoDBDatabaseRedisCacheDockerDevOpsGitHub ActionsCI/CDAWSCloudFirebaseCloudTensorFlowMLPyTorchMLscikit-learnMLOpenCVVisionspaCyNLPAirflowDataPower BIBIPandasDataFastAPIFramework

Stack layers

Five layers, one delivery standard

Front end

React, Next.js, TypeScript, Tailwind

Server-rendered where SEO matters, client-side where interaction does. Accessibility and Core Web Vitals are acceptance criteria, not nice-to-haves.

Back end

Python (Flask, Django, FastAPI), Node.js, Java Spring Boot

REST by default, typed schemas, migrations in version control. Every endpoint has an auth rule written down before it ships.

Data

MySQL, PostgreSQL, MongoDB, Redis, Airflow, Power BI

Relational first. Documents when the shape genuinely varies. Pipelines orchestrated, monitored and backfillable.

AI / ML

scikit-learn, TensorFlow, PyTorch, OpenCV, spaCy, LLM APIs

Baseline before model. Evaluation on your data before rollout. A human review path on every decision that affects a person.

Platform

Docker, GitHub Actions, AWS, Firebase, Nginx

Containerised builds, automated tests on pull request, one-command deploys and tested restores.

Engineering standards

What every repository has

  • Version control with reviewed pull requests - no direct pushes to main
  • Automated tests and linting on every pull request
  • Secrets in environment configuration, never in the repository
  • Database migrations checked in and reversible
  • Structured logging and error tracking wired before launch
  • A README that gets a new developer running in under ten minutes
.github/workflows/ci.yml
name: ci
on: [push, pull_request]
jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pip install -r requirements.txt
      - run: ruff check .
      - run: pytest -q --cov=app
      - run: python manage.py migrate --check

Interactive technology globe

Hover the pills above to see each technology's role. A rotating 3D globe version is available on request for presentations.

Ask about a custom demo

Next step

Have an existing stack?

We work inside what you already run. Send us the repository or a screenshot of your architecture and we will tell you what we would change first.