Case studies / Logistics & mobility · United Kingdom

Sangfroid Group.

One place to plan maritime operations.

Project X connects voyage planning, crew, equipment and commercial records. Its companion People application keeps personnel, roles and qualifications organised.

Discuss a similar project
Screenshot appearance
Project X overview for a fictional five-port voyage, showing project details, checklist progress and named assets
Project X · Project overview. Screens shown throughout this case study use fictional data in a local demonstration.

The challenge

A voyage is a sequence of decisions.

Maritime operations bring together people, vessels, equipment and services at different locations and times. A crew change affects resource assignments; a port call brings its own checklist; commercial records need to stay connected to the work.

The platform gives that work a common structure: a project contains checkpoints, each checkpoint contains service steps, and each step identifies the resources and actions it needs.

01 / Operations

Plan the journey.
Keep the detail.

Ordered checkpoints bring together locations, planned and actual times, service steps and checklist progress. Operators can work through a port call while keeping the wider voyage in view.

Five fictional UK port checkpoints alongside the London service steps and their checklist progress
Checkpoints and steps · A five-port demonstration with service-level actions.

02 / Accountable workflows

Actions with context and history.

Operational checklists connect readiness checks, equipment state, communication preparation and expenses to a specific service step. Completed actions retain their timing and history.

People records bring roles, skills, certifications and supporting documents into a separate application, with permissions suited to the information being handled.

Project X operational checklist showing completed and pending actions with recorded timestamps
Operational checklist · Demonstration records, with pending actions left visible.

03 / Equipment traceability

From an item to a packed kit.

Equipment items, boxes and kits retain their own identities and relationships. Packing views show the contents operators have selected, while location and lifecycle records provide the surrounding history.

A fictional Sangfroid equipment box and its packed inventory in the local Project X application
Equipment packing · Fictional inventory prepared through the local Postman collection.

The engineering

Separate services.
A connected platform.

Domain services keep identity, people and operations independently organised. Managed cloud infrastructure supports the applications, data, private documents and background work.

  1. React applicationsProject X and People
    TypeScript · React Router · Vite
  2. Protected entryHTTPS load balancer · Cloud Armor
    Cloud Endpoints / ESPv2
  3. Domain APIsAuthentication · People · Project X
    Python / FastAPI on Cloud Run
  4. Operational dataCloud SQL · PostgreSQL / PostGIS
    Private network connectivity
Private Cloud StorageSecret Manager & Cloud KMSCloud Tasks & email workerGitLab CI & Pulumi
Platform architecture · A simplified view of the application and its supporting cloud services.

Technology & infrastructure

The main layers of the platform and what they do.
ApplicationReact · TypeScript · React Router · TailwindServer-rendered applications and shared UI components for operational workflows.
ServicesPython · FastAPI · SQLAlchemy · AlembicSeparate Authentication, People and Project X APIs, with versioned database migrations.
Data & filesPostgreSQL · PostGIS · Cloud SQL · Cloud StorageStructured operational records and geographic data, with private storage for supporting documents.
Cloud & accessGoogle Cloud Run · ESPv2 · Cloud ArmorContainerised services behind an API gateway and HTTPS edge. Microsoft Entra sign-in and role-based permissions control application access.
Background workCloud Tasks · Dedicated email workerQueued delivery separates background email processing from interactive application requests.
Delivery & operationsPulumi · GitLab CI · Secret Manager · Cloud KMSInfrastructure as code, separate staging and production configurations, managed secrets and asymmetric token signing.

Service-owned databases connect through private Cloud SQL networking. Private document storage and application permissions keep supporting files tied to the workflows that need them.

GitLab pipelines check, build and release the containers, while Pulumi describes the cloud resources. Cloud Logging and Sentry provide operational diagnostics.

Build with Cloudini

Bring your operations
into one working system.

Talk to us about the workflows, integrations and information your team needs.

Tell us what you are building