I've spent four years building Mantle — the platform where academic libraries and consortia worldwide purchase, and get access to, Cambridge University Press & Assessment's digital books and journals. It's a full order-to-cash system: a storefront and order engine wired into SAP (Cambridge's finance system), EBSCO's library-ordering platforms, and the university's identity systems — roughly 40 services, which the team is rebuilding from a legacy stack into TypeScript microservices.

4+ years

Aug 2022 → present

1,900+

commits across 50+ service repositories

280+

tickets across Mantle + internal platform · 90%+ delivered

~40

services documented end to end

Figures from the platform's own git, GitLab, and JIRA records · July 2026 snapshot

Software Engineer

I work across the full stack and the full lifecycle: service architecture, backend and UI implementation, AWS infrastructure, production support, the team's AI-assisted engineering tooling — and contributed to Manila office's internal platform on the side. 390 merged merge requests authored; 350+ teammates' merge requests reviewed and approved.

The order engine

270 commits · 23% of the service's entire history

  • One of the core engineers rebuilding Mantle's order-processing service — the system that confirms an order, calculates pricing and discounts, credits refunds, and expands bulk collections into individual titles — including the performance work that lets a single order carry up to 40,000 titles.
  • Built the refund-crediting capability twice: the original version in the legacy platform, including its customer email flows, then its successor in the rebuilt stack.
  • Delivered the 2025 product-upsert programme end to end — the backend search and validation services, the cloud functions behind them, and the Vue.js screens on top (progress indicators, confirmation checklists, duplicate-report downloads). Genuinely full-stack: 126 commits in the customer-facing web app across four years.

Finance & fulfilment integrations

258 commits · 36% of the service

  • Built the pipelines that push confirmed orders into Cambridge's SAP finance system and the Access to Research platform, plus the two-way integration with EBSCO's MOSAIC ordering platform — order placement, status callbacks, and fulfilment updates.
  • Built a brand-new reconciliation service from its first commit — two-thirds of its entire commit history is mine. It keeps Cambridge's internal record of what each customer owes and has paid lined up with SAP's records, with built-in safeguards so it can't overload SAP.
  • Added a secure lookup so customer-service staff can pull a library's SAP account and billing history without leaving Mantle.

Access, identity & catalogue

100 commits in the central backend service

  • Built the access-control flow that grants and revokes a library's right to read a purchased digital book or journal, plus the staff tools for finding and repairing missing entitlements.
  • Built the bridge to the university's central identity system so a customer's account details stay in sync everywhere, and contributed to the reporting service that produces order summaries and library catalogue records (42 commits).

Cloud infrastructure & reliability

  • Designed and built the independent AWS functions powering the order pipeline — confirmation (43% of that repo's commits), entitlement granting, crediting, product explosion — each with automatic retries and instant Slack alerts if something fails silently.
  • Built Mantle's job-scheduler service essentially solo (28 of its 29 commits): one place to define the platform's recurring jobs, starting with the ledger sync against SAP.
  • Hardened the infrastructure: message queues and safety-net queues defined as code, credentials moved from plaintext into AWS Secrets Manager, deploy pipelines migrated from long-lived AWS keys to short-lived per-deploy credentials (OIDC), and personal data scrubbed from logs across three services.

Production ownership

  • Third-line support for the live platform throughout: ~50 investigation and data-repair tasks — missing entitlements, wrong crediting emails, orders stuck mid-pipeline, monthly reporting operations. 220 of my 234 Mantle-board tickets (94%) are delivered and live.
  • Own the customer-notification services (117 commits) — the emails libraries receive for order confirmations and credits — from new recipient and content rules to diagnosing why the wrong email went out.

Internal platform — Manila office

50+ tickets across the DTR

  • Full-stack engineer on the office's internal workforce platform: the DTR (timekeeping) system — shift scheduling, automated leave harvesting, payroll reporting with real rules (ADP exports, night-differential computation, holiday-duty logic) — and the seat-reservation system, including the AWS Lambda that auto-releases unused seats.

Developer platform & AI-assisted engineering

  • Designed and built the team's governance framework for AI-assisted development (Claude Code): a spec-driven pipeline — written proposal, implementation plan, code, verification, each gated by human sign-off — backed by enforcement hooks that can technically block a non-compliant commit, five specialised pipeline agents, and cost-tiered model routing. 210+ commits, a third of the tooling repo's history, grown from a single ~5,200-line foundational commit.
  • Audited how the AI loads its reference material and cut it by roughly 47%, making every task cheaper and faster with no loss of enforcement.
  • Wrote the onboarding documentation for ~40 services — legacy and rebuilt alike, and maintain the two shared libraries plus the one-command Docker environment that spins up all ~30 services locally. The team's go-to person for this tooling.
TypeScriptNode.jsAwilixFastifyHapi.jsNuxt.jsObjection.jsVue.jsVuetifyVuexKnexMySQLNATSRedisAWS CloudFormationAWS EventBridgeAWS LambdaAWS SQSAWS Secrets ManagerClaude CodeDockerGitLab CI/CDJest

Junior Software Engineer

First year on Mantle's legacy stack: 40+ tickets shipped across the order engine, the storefront UI, and the fulfilment pipelines.

  • Made order cancellation, activation, and completion reliable by rewriting them as multi-step transactions that roll back cleanly if any step fails partway.
  • Fixed a stream of order-processing bugs with direct customer impact: journal pricing ratios, customer price overrides not applying, and PO-reference validation rejecting valid input.
  • Kept the automated GOBI pipeline healthy — the feed pulling purchase orders in from EBSCO's library-ordering platform — fixing PO checks, missing SAP business-partner errors, and authentication issues.
  • Contributed to the customer-facing web app from my first weeks (filters, validation, UI polish) and took part in the team's Agile process and code reviews.
  • Early production-support exposure: refactored the customer-holdings reports and fixed report-delivery timeouts — the start of an ops thread that continues today.
JavaScriptNode.jsHapi.jsNuxt.jsVue.jsVuetifyVuexMySQLNATSRedisChaiDockerMochaSinon
Goodfrontend.dev logo

Goodfrontend.dev

September 2021 — February 2022

  • Completed an intensive frontend development cadetship progressing through structured individual and team-based project phases focused on modern web technologies and real-world collaborative development.
  • Built proficiency in Next.js, React, and TypeScript through structured projects including a comparative code review of 6 different implementations to evaluate best practices.
  • Improved CSS skills in Flexbox and Grid, culminating in a team-built CatWiki app integrating Apollo Client/GraphQL with the Cat API.
  • Contributed to the Goodfrontend.dev live website as part of Team Maki — a 4-person team — taking on tech lead responsibilities, learning Contentful CMS, and writing GraphQL queries.
  • Navigated team challenges including Git workflow conflicts and unclear task prioritisation — resolved through code refactoring, role clarification, and self-organised standups.
  • Transitioned from solo academic projects to structured agile team collaboration, building practical experience in role flexibility and peer accountability.
JSNADLinux Foundation / OpenJS Foundation

OpenJS Node.js Application Developer

Core stack

Daily in production · 4 years

TypeScript
JavaScript
Node.js
Fastify
Hapi.js
Vue.js
Nuxt.js
Vuetify
Vuex
MySQL
MSSQL
Knex
Objection.js
Redis
NATS
Awilix
Docker
Jest
Mocha
Chai
Sinon

Cloud & delivery

Provisioned and operated in production

AWS Lambda
AWS SQS
AWS EventBridge
AWS CloudFormation
AWS Secrets Manager
AWS S3
GitLab CI/CD

AI-assisted engineering

Designed and operate my team's practice

Claude Code & GitHub CoPilot (hooks, subagents, skills, docs, rules)Spec-driven development (OpenSpec)Enforcement tooling

Communication & collaboration

“The way we communicate with others and with ourselves ultimately determines the quality of our lives.” — Anthony Robbins

Communication Assertiveness

Personal projects & side builds

This site is Next.js + Tailwind with a Vitest suite and CI; the apps below it are Flutter

Flutter
Dart
React.js
Next.js
Tailwind
Supabase
Firebase
MongoDB
GraphQL

Background familiarity

Studied and used outside production — not part of my daily stack

Java
Kotlin
Laravel

Outside work I design, build, and ship my own apps — five so far, four on Flutter for Android and one on the web.

Lugan

Vehicle & motorcycle logbook

Beta

A logbook app for vehicle and motorcycle owners — track maintenance, fuel logs, expenses, and service history all in one place.

Our Wedding

Wedding RSVP & guest portal

In Development

A wedding RSVP and guest portal — invite management, RSVP tracking, meal preferences, and a live guest list for the couple to manage on the day.

Kasalan

Philippine wedding planner

Beta

A local-first wedding-planning app for Filipino couples — checklist, budget, vendors, guest list, and a day-of timeline, all stored on the device with no account or cloud.

Petto

Pet care logbook

Beta

A logbook app for pet owners — track vet visits, vaccinations, medications, feeding schedules, and milestones for your furry companions.

Piggery

Piggery management

Beta

A management app for small Philippine piggeries — track pigs, health logs, inventory, and finances, with printable PDF reports.

Want the one-page version?

The CV mirrors this page — same numbers, same claims. Otherwise, reach me directly and I'll reply.