I'm a frontend-focused software engineer based in Dublin,
Ireland, currently working at Microsoft. I build complex
React and TypeScript interfaces, lead accessibility
transformations, and ship high-quality, test-driven UI
features for large-scale products.
My experience spans state management, dynamic and
schema-driven forms, and fullstack integrations with
platforms like SharePoint and Supabase. I focus on building
accessible, WCAG-aligned interfaces, with strong automated
testing and developer tooling to keep large codebases
reliable over time.
Built multi-step dynamic forms with conditional
logic, API-driven validation, and robust error
handling for a new SharePoint AI provisioning
experience.
Designed and implemented schema-driven workflows to
improve reliability and predictability of AI-powered
provisioning.
Introduced Jest testing from scratch, raising
coverage from 0% to 95% unit and 98% branch,
catching schema-breaking regressions early in CI.
Partnered closely with PM and Design through rapid
POCs and prototypes to shape product direction and
engineering scope.
Frontend Engineering - Microsoft Teams (Shifts) (2022 -
2024)
Delivered major UI features across a large,
virtualised scheduling interface used by 2M+ monthly
active users.
Built complex flows including filtering, feedback,
and time-off approval across a custom
React/TypeScript codebase.
Led a full accessibility overhaul, reducing a
backlog of 300+ issues to zero and cutting
regressions from 5-10 per sprint to 1-2 low-severity
issues.
Guided ~20 engineers as the accessibility domain
expert through design reviews, PR feedback, and
hands-on debugging support.
Delivered a cross-org talk to 40-50 engineers on
tackling large accessibility backlogs, covering
prioritisation, testing, and bug-grouping
strategies.
Accessibility Leadership (Teams & ODSP)
Drove Shifts to achieve the highest internal
accessibility grade in Microsoft's Experiences &
Devices division.
Authored internal documentation on accessibility
best practices and testing workflows.
Mentored new graduate engineers through pairing,
code reviews, and onboarding support.
Selected Projects
Here are some of the projects I've worked on:
Traitors Game (Next.js + Supabase)
A real-time multiplayer game tool for 10-20 players,
handling voting, round progression, traitor actions, and
win logic. Built with Next.js and Supabase and used
multiple times with excellent feedback on the UI and
usability.
Motivation
I built this to make it easier to run social deduction
games with friends without relying on pen-and-paper or
ad-hoc tracking. The goal was a smooth, guided
experience that keeps the focus on the people and the
game, not on the mechanics.
Azure DevOps PR File Colors (Edge Extension)
A published Microsoft Edge extension that improves Azure
Repos pull request review workflows by colour-coding
truncated filenames, making it easier to scan large PRs.
This started as a small quality-of-life fix for my own
code reviews. Long file paths were constantly truncated
in PRs, so I built an extension to make important files
stand out visually and reduce cognitive overhead during
reviews for my team.
Bases Style Enhancer (Obsidian Plugin)
A small Obsidian community plugin that lets you adjust
the font size of Bases table views using a single CSS
variable, so table cells (and optionally headers) stay
readable and consistent across your vault.
Motivation
I built this to make Bases tables easier to read for
people who prefer larger or more consistent text sizing
in Obsidian, while keeping the implementation
deliberately tiny and easy to maintain.
I wanted a lightweight, offline-friendly way to track
the time remaining until my next meeting, and to always
have it visible on my desktop. This project also let me
explore Tauri as an alternative to Electron for
cross-platform desktop apps.
Irish Mortgage Calculator
Custom mortgage calculator for Irish
homebuyers, designed as a flexible "bring your own
terms" tool. It lets users quickly compare monthly
mortgage payments across different banks and scenarios
using the loan amounts, interest rates, fees, and terms
they already have.
Tech Stack
Built with React,
TypeScript, and
Fluent UI v9, and hosted on
Azure Static Web Apps.
Motivation
When my partner and I were buying our first home, most
online calculators were focused on product discovery
rather than quickly comparing scenarios. I built this
tool so we could quickly plug in the exact terms we were
offered and compare monthly payments and how much
savings we needed across multiple houses and banks.
This is a simple bingo game for
New Year's Resolutions. It allows users
to create a bingo card with their goals and share it
with friends.
Tech Stack
Built using React and
TypeScript, and hosted on
Vercel. It can be installed as a
Progressive Web App (PWA) on both desktop and mobile
devices.
Motivation
I originally built Goals Bingo for myself and my friends
as a different take on New Year's resolutions. Instead
of a simple pass/fail list written in one evening, we
create a bingo card filled with goals of varying
difficulty. Over the year we try to complete a row,
column, or diagonal, reflecting the idea that life isn't
about hitting every goal perfectly, but about
continually improving and celebrating the progress you
do make.
I made the app work offline as a PWA so friends who
travel frequently can still plan and track goals without
a connection.
If you'd like to get in touch, feel free to reach out via
email or connect with me on LinkedIn. I'm always open to
discussing new projects, collaborations, or just having a
chat about technology.