Open to opportunities

Frontend Engineer. Building data-heavy products that get complicated as they scale.

Mostly B2B enterprise software - OKR platforms, consent platforms, telecom CRM, space planning and healthcare. I work across the whole frontend: architecture and component boundaries, interfaces where modelling the state matters more than the styling, and the performance work that keeps them fast as products grow.

FocusFrontend architecture·Complex UI·Performance

01 Experience

Planview(opens in a new tab)

Feb 2024 - Feb 2025

Senior Software Engineer I

Planview's OKRs product is what organisations use to set objectives, align teams around them, and track progress against measurable goals. I owned the goal-tracking side of it - the interactive list view customers configure to match how they run their planning (column customisation, owner filters, tree navigation), and the relationships view for visualising connected goal hierarchies. I worked with product owners, designers and QA to decide what the product should allow and how new features fit into the wider platform. The list view drove a 30% increase in user adoption and contributed to 100+ client wins, and the product is used by more than 1,000 organisations and 50,000 people. Later I took on how it performs: home-screen load time down 30% and Core Web Vitals up 25%, then a Hasura v1 to v2 upgrade that shipped with no downtime - improving query performance by 20% and bringing critical API responses from 2s to 1.2s. I also built a reusable analytics module that 5+ platform apps adopted, and handled sprint planning, code reviews and feasibility analysis for the team.

OneTrust(opens in a new tab)

Jun 2021 - Jun 2023

Senior Software Engineer

OneTrust's consent management platform is what companies use to collect and honour user consent across their own sites, processing more than 450M consent transactions a day. I built several of the pieces customers configure directly - the rules builder, the visibility matrix and the web forms they embed in their own pages - and owned the Consent WebSDK, the part of the platform other teams and customers integrate with. I designed it from the ground up and added Node APIs to server-render the embedded forms, which cut the time customers spent completing consent collection by 20%. I also worked on the internal design system, the components and patterns other teams used to keep their products consistent.

Senior Associate

Worked as a consultant on a telecom company's CRM platform, building the complex UI and the workflows their enterprise customers move through day to day. I also built a Customer Health Index application that gave the product team a clear read on how their accounts were performing and where to act, and customer satisfaction scores went up 20%. A good part of my time went into the frontend architecture and the reusable component set other teams built on - estimating effort and leading development to meet requirements.

02 Projects

PlanlyYour week planner which keeps things simple(opens in a new tab)Med-RAGPrivacy first health analysis(opens in a new tab)

03 Skills

LanguagesTypeScript·JavaScript (ES6+)·HTML5·CSS3
FrameworksReact·Next.js·Redux·React Query·React Flow·Node.js
DataGraphQL·Apollo Client·Hasura·REST APIs
TestingJest·React Testing Library·Cypress
StylingTailwind CSS·styled-components·Material UI
ToolingWebpack·Git·GitHub·CI/CD

04 Focus

Frontend architecture

Clear data flow and component boundaries that stay understandable as a product grows. TypeScript contracts across the app and its data layer.

Complex UI

Rules builders, visibility matrices, tree navigation, multi-step forms - interfaces where modelling the state correctly matters more than styling it.

Performance

Measure first: loading, rendering, JavaScript weight, network, runtime interaction. Then fix the bottleneck the trace actually points at.

Design systems

Reusable components with sensible defaults, built alongside product work rather than in isolation from it.

Accessibility & testing

Accessibility treated as part of the interface rather than a later audit; automated tests as part of the workflow.

05 Contact