Software Engineer

  • 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 a bulk "collection" purchase (e.g. a bundle of hundreds of titles) into the individual books a customer actually receives. Built several of its major features myself, including the order-confirmation flow, the collection-to-product expansion, and a performance fix so it could handle purchases of up to 40,000 titles at once.
  • Built the systems that send confirmed orders to Cambridge's SAP finance system and to Access to Research, plus a secure lookup so customer-service staff can pull a library's SAP account and billing history without leaving Mantle. Also built the piece that reports order status and fulfilment back to EBSCO's MOSAIC ordering platform, so libraries using MOSAIC get automatic updates on their orders.
  • Built the access-control piece of Mantle that grants and revokes a library's right to read a purchased digital book or journal, added the internal product-search tool staff use to find titles, and built a secure bridge to the university's central identity system so a customer's account details stay in sync everywhere.
  • Built a brand-new service from scratch to keep 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 accidentally overload SAP with requests.
  • Designed and built several of the small, independent cloud functions that power individual steps of the order pipeline โ€” confirming orders, granting entitlements, and (most recently) a scheduled job that keeps our internal ledger in sync with SAP's financial records every few hours โ€” each with automatic retries and instant Slack alerts if something fails silently.
  • Set up and hardened the AWS infrastructure behind these services: provisioned the message queues, failure-handling ("dead letter") queues, and storage each one needs; migrated a service's login credentials out of plaintext and into AWS Secrets Manager; and moved our deployment pipelines off long-lived AWS access keys onto short-lived, per-deploy credentials (OIDC) to close a standing security gap.
  • Maintain a shared code library used across every one of these rebuilt services, so a fix to something like error-handling or logging only has to be made once.
  • Replaced the team's old, fragile local-development setup with a one-command Docker environment that spins up all ~30 services and their infrastructure (databases, queues, etc.) with a single script instead of a long manual checkout process.
  • Designed and built the governance framework that controls how Claude Code (Anthropic's AI coding assistant) is allowed to work across every service in this rebuild. It started as a single ~5,200-line foundational commit and grew, through more than 130 commits across a dozen feature branches, into a full spec-driven development system: any new feature has to pass through four stages โ€” a written proposal, an implementation plan, the actual code, and a final verification โ€” each gated by a required human sign-off. Backed that process with automated enforcement scripts that technically block a commit (e.g. rejecting code with no test written first), rather than just asking the AI nicely to follow the rules. Built five specialised AI agents that each own one stage of that pipeline โ€” drafting specs, planning tasks, triaging ambiguous requests, and verifying finished work โ€” and tuned which tier of AI model handles which kind of work, so cheaper/faster models handle routine implementation while a more capable model is reserved for specs, planning, and review. Later built a separate, lighter three-gate version of the same pipeline specifically for the QA team's automated-test authoring, so test coverage gets the same rigor without the overhead a QA workflow doesn't need. Also audited and restructured what the AI loads automatically versus on-demand, cutting the reference material it has to read before starting any task by roughly 47% โ€” reducing cost and speeding up every single task without weakening any of the enforcement.
  • As part of that effort, personally authored the onboarding documentation โ€” what each service does, how it talks to the others, how to operate it โ€” for essentially every one of the roughly 40 services in the rebuild, legacy and new alike, which both the AI tooling and new engineers rely on. Recognised as the team's go-to person for this tooling, with ongoing responsibility for its improvement.
TypeScriptNode.jsAwilixFastifyHapi.jsNuxt.jsObjection.jsVue.jsVuetifyVuexMySQLNATSRedisAWS CloudFormationAWS LambdaAWS SQSAWS Secrets ManagerClaude CodeDockerJest

Junior Software Engineer

  • Maintained Mantle's original platform for negotiated academic book and journal sales, fixing bugs and shipping small features from JIRA tickets.
  • Made order cancellation and order-activation reliable by rewriting them to roll back cleanly if any step failed partway through, instead of leaving orders stuck in a broken state.
  • Fixed a string of order-processing bugs affecting real customer orders: incorrect journal pricing ratios, customer price overrides not applying, and a PO-reference/comment field that was rejecting valid input.
  • Fixed several issues in the automated pipeline that pulls library purchase orders in from GOBI (a major library-ordering platform): orders failing when a customer's finance account couldn't be matched, a crash on certain order sizes, and library-leased titles being unorderable through GOBI.
  • Made small UI improvements to the sales-rep ordering tool (adding filters, fixing copy/pluralisation, and field-length limits) and took part in the team's regular Agile process and code reviews.
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

Languages & Runtimes

TypeScript
JavaScript
Node.js
Java
Kotlin
HTML
CSS

Frameworks & Libraries

React.js
Next.js
Vue.js
Nuxt.js
Vuex
Vuetify
Hapi.js
GraphQL
Tailwind
Laravel
Objection.js
Awilix

Data & Messaging

MySQL
MongoDB
Redis
NATS
Firebase

Cloud, DevOps & Testing

AWS
Docker
Jest
Mocha
Chai
Sinon

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.