75 supplier codes on 31 modules, migrated while live
05/2024 – present
Designed the supplier module contract and the migration model; owns the release train on the hotel gateway
The aggregation layer that makes many wholesalers answer one API contract: one module per supplier, brand differences pushed into data, and cross-call state carried inside the identifiers themselves.
- Node.js
- Koa 2
- Express 4
- MySQL + Knex
- Redis (ioredis)
- AWS SQS
- BullMQ
- camaro + xmlbuilder
- Docker
- Kubernetes
- DataDog APM
Turning ops runbooks into commands anyone can run
02/2026 – present
Author and maintainer — solo · In daily use by two engineering teams
~70 engineering runbooks packaged as executable commands across 3 installable repos used by two teams — with mechanised guardrails on every operation that touches production.
- Claude Code skills & plugins
- MCP (9 servers)
- Bash
- Python 3
- Node.js
- macOS launchd
- GitLab CI
- Markdown + YAML frontmatter
One hotel, 46 different supplier IDs
2026
Owner of the mapping campaigns — design, execution, verification, rollback
Resolving the same physical hotel across suppliers in a ~1.9M-row identity table — using a bridge-through-a-third-supplier technique, verified by name similarity and geo distance before any write.
- Node.js
- MySQL + Knex
- Redis
- Neo4j + Cypher
- Python (TF-IDF, Siamese)
- fuzzball
- Kubernetes CronJob
From a trace-id back to the exact request we sent
08/2026
Sole author, rolled out to four further services
Two design calls — snapshot the request at the first handler line, before any code mutates it, and derive the field table from each endpoint's own validation schema — made the tool portable enough to ship across all five products in a single day.
- Node.js
- Koa
- Express
- MySQL + Knex
- Redis
- Joi
- JWT
- GitLab CI
A multi-level approval engine no module has to reach into
2026
Designer and owner — backend, integration handbook, flow diagrams
One configurable approval engine shared by several business modules — with boundaries enforced by lint, configuration snapshotted at submit, and per-level SLA reminders running on a delayed-job queue.
- NestJS 10
- Fastify
- TypeScript
- TypeORM
- PostgreSQL
- Redis
- BullMQ
- Kafka
- Jest
One feature, eleven repos, and two production incidents
2026
Feature owner end-to-end — backend, consumer web, admin, accounting, mail
When a feature spans eleven repositories, the unit of release is the set, not the repo — attaching a flight-delay insurance product to a live booking flow, where missing a single repository means undercharging customers with no exception thrown anywhere.
- NestJS
- Express 4
- Next.js
- React
- PostgreSQL
- TypeORM
- Sequelize
- Kafka
- Redis
- Bull
- GitLab CI
QRnet — digital business cards and contact management
01/2024 – present
Backend Developer · 10
A free application for digital business cards, contact management and an internal social network. I owned the backend: data model redesign, new features, optimisation and code review.
- NestJS
- PostgreSQL
- Redis
- Sentry
- AWS CloudWatch
Shopology — multi-app retail data platform
10/2023 – 01/2024
Backend Developer · 12
A platform letting marketers optimise their investment against actionable retail and shopper data. I built the initial code base and designed the database structure.
- NestJS
- PostgreSQL
- Redis
- Sentry
- AWS CloudWatch
Offer Worker — aggregating hotel data across suppliers
09/2022 – 01/2024
Backend Developer · 9
The service that aggregates hotel data from many suppliers, builds the hotel mapping system, and provides hotel booking to the wider microservice platform.
- KoaJS
- MySQL
- Redis
- AWS SQS
- Neo4j
- camaro + xmlbuilder
- Pino
- AWS CloudWatch
Flight Gateway — the flight integration layer
09/2022 – 01/2024
Backend Developer · 10
Part of the microservice platform: integrating data from many flight suppliers so the rest of the system sees a single provider for flight booking.
- KoaJS
- MySQL
- Redis
- AWS SQS
- camaro + xmlbuilder
- Pino
- AWS CloudWatch
Asgard — the platform-wide admin dashboard
09/2022 – 01/2024
Backend / Frontend Developer · 5
A UI dashboard managing every service in the microservice platform: flights, hotels, tours, transfers, car hire and insurance. I worked on both the backend and the frontend.
- KoaJS
- ReactJS
- MySQL
- Redis
- Ant Design
- ReCharts