Results-oriented Software Engineer with a Master’s in Computer Science and significant experience in building scalable web applications. Expert in TypeScript (Node.js/React) and DevOps (GCP/Kubernetes). Proven track record of architecting serverless APIs and leading frontend initiatives.
Skills
Professional Experience
- Freelancing Sofware Engineer taking on end-to-end product work for small businesses: scoping, build, deployment and handover, with the client owning the result.
- Designed and delivered the public website and enrolment platform for Bright Sparks Tutoring Agency end to end, from requirements and copy through launch and handover.
- Built it on Next.js, React and Firebase (Firestore, Auth, Cloud Functions): a multi-step enrolment form with validation, a role-based admin dashboard, and email notifications for new enrolments.
- Established automated testing and deployment pipelines using Cypress, GitHub Actions, and Firebase App Hosting, alongside backend validation and bot protection.
- Architected full-stack applications using TypeScript, React (Next.js), and Node.js, serving as a core contributor.
- Contributed to the migration of a multi-site ecommerce platform from Magento to Shopify, alongside a full frontend rewrite using modern web technologies
- Designed and implemented a reusable multi-brand styling architecture that enabled a shared repository and component library to support multiple websites with significantly different branding, layouts and UI requirements
- Created a BEM-inspired design system that allowed the majority of site-specific styling to be swapped cleanly between brands, while introducing feature-flagged component behaviour for structural and functional differences that could not be handled through theming alone
- Designed the styling system with developer usability and maintainability as key constraints, enabling less experienced client engineers to safely extend and modify individual brand implementations without needing deep knowledge of the wider architecture
- Architected and implemented GTM and GA4 tracking across the multi-site platform, accounting for multiple brands, Shopify stores, markets, currencies and deployment environments while ensuring the correct analytics configuration was loaded for each context
- Solved a complex Shopify checkout analytics and attribution challenge by introducing a dedicated sandbox tracking container and stitching user sessions using session identifiers, preserving critical revenue and behavioural data across storefront, cart and checkout flows
- Designed analytics logic to correctly handle multiple Shopify Markets, currencies and store configurations, including scenarios where several regional sites shared a single Shopify store while others operated independently
- Designed and implemented the collection-time calculation engine for the fulfilment platform, combining product lead times, store opening hours and operational constraints to provide customers with accurate estimated collection times
- Integrated Cookiebot consent management across the platform, ensuring analytics and marketing technologies behaved correctly in response to user consent preferences
- Contributed to the development of a client-facing website and internal submissions platform, including dedicated client and administrator dashboards with role-based access control
- Implemented workflows allowing clients to create, save and resume in-progress submissions, while enabling administrators to review, edit, manage and return submissions for further changes as part of a controlled approval process
- Helped design and build a stateful submission workflow supporting multiple user roles, submission statuses and interactions between clients and administrators
- Developed a lightweight custom CMS within the admin dashboard, allowing authorised client users to update selected areas of the public website without requiring developer intervention
- Contributed to the architecture of a unified administration experience that combined submission management, user permissions and website content management within a single internal platform
- Architected and led the delivery of a major website modernisation for Direct Wines, replacing a poorly performing white-label platform and complex legacy codebase with a leaner, more maintainable architecture.
- Simplified and stabilised a highly complex component and content-modelling system, addressing maintainability challenges created by the need to support extensive site customisation through a constrained CMS schema.
- Led a major redesign of backend microservices to make them suitable for a serverless architecture, replacing stateful application patterns introduced in the existing implementation.
- Introduced request-scoped context using Node.js AsyncLocalStorage, improving request tracing and observability while eliminating the need to manually propagate tracing metadata throughout the application.
- Developed a proof of concept and migration approach for moving the frontend from React to Next.js while retaining the flexibility of the existing CMS-driven component system.
- Optimised the Next.js implementation around modern rendering and caching strategies, using framework-level performance features to reduce page load times and improve overall application performance.
- Orchestrated containerized microservices on Kubernetes, integrating Kafka for event streaming and BigQuery.
- Engineered cloud infrastructure on GCP using Terraform and Helm, implementing
- Developed high-performance educational platforms using Agile methodologies.
- Built secure video conferencing features in Next.js integrating AWS Chime SDK and AWS Cognito.
- Lead Frontend Developer for an Angular 9 election application, implementing complex Internationalization.
- Co-developed a company-wide Design System focused on Accessibility using Web Components and Vue.js.
- Designed and deployed a critical internal RESTful API central to daily operations.
- Developed serverless microservices using AWS Lambda and API Gateway.
Key Projects
Engineered a PWA with real-time messaging, voice notes, and push notifications.
Vue • Socket.IO • MongoDB • Firebase • Service WorkersDeveloped a multiplayer game with real-time state synchronization and live chat using Firestore.
React • TypeScript • Vite • Capacitor • Firebase Functions • FirestoreFitnese is an activity tracking app focused on detailed exercise metadata, injury risk tracking, rehabilitation benefits, and offline-first functionality.
React • TypeScript • Vite • Supabase • PostgreSQL • Capacitor • Workbox