All projects

2024 · Selected work

Deliver1

An international-removals platform with instant quotes and multi-step booking across road, sea and air.

Private codebase

Client source code is private. I can discuss the architecture and demonstrate public workflows; repository access requires the client's permission.

Request walkthrough
Role
Full-stack Developer
Location
United Kingdom · Remote
Engagement
Commercial client project
Period
March 2024 – Present

About the project

Deliver1 turns a complex international-moving service into a clear digital journey. Visitors can understand available transport options, request an estimate and progress through structured relocation workflows.

The product is a three-part system: a customer-facing Next.js experience, a Node.js/Strapi API for content and operational data, and a dedicated support portal for customers and staff. I develop across all three, modernising a live conversion journey while building the backend workflows and support tooling around it.

My contribution

  • Customer journeyRebuilt the customer-facing Next.js architecture and developed instant-quote, inventory and multi-step booking journeys with step-specific validation.
  • Backend, payments and verificationExtended Strapi with issue/update models, public and internal endpoints and tracking tokens, and integrated Stripe deposits and Firebase phone verification behind server-owned routes with explicit retry and failure states.
  • Support portalBuilt a separate portal for customer reporting, tracking, evidence uploads and threaded conversations, plus staff assignment and reply workflows — protected throughout by Turnstile, upload allow-lists, rate limits and repeat-submission checks.

Engineering proof

What was hard, what I chose, and how I checked it.

01

Challenge

A live, conversion-focused moving journey needed the operational backbone to carry a customer issue all the way from public submission through staff ownership, conversation and resolution — without a rebuild that risked the conversion path itself.

02

Product & engineering decisions

  • The customer journey, API and support workspace stay separate, with business data and the logic that sends notifications living in the backend.
  • Quotation and booking split into independently validated steps, each with its own schema, so a user never sees a validation error from a stage they haven't reached yet.
  • Support is modelled as issues and threaded updates — public replies separated from internal notes — and tracking links stand in for customer accounts.
03

Quality & outcome

  • Payment, verification, upload and email failures stay actionable and never discard work that already saved successfully.
  • Shared rate-limit state, security events and a repeatable deployment pipeline cover all three services.

Customers move through quotation, booking and post-booking support in one coherent service, and staff get an auditable workspace for ownership and resolution — each of the three surfaces can now evolve on its own timeline.

Technology

Next.js 15 / 16React 18 / 19TypeScriptStrapiMaterial UIEmotionReact Hook FormYupSWRNode.js