# about
I'm a full stack developer specializing in React and modern JavaScript frameworks. I've worked on everything from building corporate websites from the ground up, to updating existing sites with various front-end features, and also scaling ad tech across high-traffic sites. My projects often involve performance optimisation, seamless UX, improving accessibility, and building interactive features that engage users.
I enjoy solving real problems with clean, efficient code—and I'm always exploring new tools and ideas to push what the web can do.
# skills
Front-End:
- HTML
- JavaScript
- Typescript
- React
- Next.js
- Astro
- React-Aria
Back-End:
- JavaScript
- Typescript
- AWS
- Cloudflare
- MongoDB
- SQL
- Express
- Rest APIs
- Vite
- Webpack
Styling & Animation:
- CSS
- Tailwind
- SASS
- LESS
- CSS Modules
- Motion
- GSAP
Miscellaneous:
- Git
- Node
- Docker
- PowerShell
- React Testing Library
- Jest
- Google Ads
- Prebid
- Windows / Mac / Linux / Unix
# work
Hackwire
Built with:
- React
- Tanstack Query
- Tanstack Router
- React-Aria
- Tailwind
- Typescript


Hackwire is a modern, accessible web app for reading Hacker News articles and discussions, with a focus on customization and usability.
Designed mobile-first and built with React Aria, it supports full keyboard navigation, has excellent screen reader support, and includes font options to aid speed reading and dyslexia-friendly viewing.
Content is sourced from the Hacker News and Algolia Search APIs, cached with Cloudflare and locally with TanStack Query, and prefetched at the router level to help keep the app feeling snappy and responsive.
Other unique features include haptic feedback on iOS during comment navigation, and user-configurable nested comment layouts.
CHECK IT OUTActive Directory Event Auditor
Built with:
- React
- Express
- Material UI
- Mongo DB
- Tanstack Table

While working at Sainsbury's, I identified a gap in how help desk analysts accessed historical Active Directory audit logs, which were typically only cached for a short time, limiting their ability to troubleshoot user account issues.
To solve this, I built a custom API with Express to extract and store audit log data in MongoDB for long-term access. I also developed a React-based frontend using React Table and Material UI, allowing support staff to easily search, filter, and explore large volumes of audit data in a clean, responsive interface.
Digital Ads
Below is a curated selection of desktop and mobile ad units I developed during my time at Gamer Network, featuring interactive elements and custom animations.
Built with:
- GSAP
- CSS Animations
- Google Ads
SUICIDE SQUAD Desktop Ad
For the release of the Suicide Squad game, I developed an animated desktop ad, spanning both a skin around the site content, as well as an accompanying sidebar unit.
The ad featured multiple “glitch” animations, with characters and elements appearing dynamically across the layout. This presented a unique technical challenge, requiring precise synchronization of animations across multiple iframes to maintain a seamless and cohesive experience.
SUICIDE SQUAD Mobile Carousel Ad
To complement the desktop campaign for Suicide Squad I built this interactive swiper ad unit.
It was positioned below the main site content and revealed through a “window” effect as the user scrolled, giving the illusion of peeking into a layer beneath the page.
The swipeable carousel let users explore individual characters before revealing the game trailer.
TRINE 5 Desktop Ad
For this campaign, I built a skin ad unit that wrapped around the site content and seamlessly integrated with the ad unit positioned in the sidebar.
The unit features the game trailer in the header section, and used CSS animations to rotate the cogs to add motion and draw user attention.
CITIES SKYLINE II Mobile Video Swiper Ad
I developed a vertical video swiper to showcase the game's key features.
To ensure fast load times and smooth performance, each slide first displays a placeholder image, then lazy-loads the video before seamlessly transitioning into playback.
# experience
- Migrated sites to a new video platform with automated embed conversion and SEO improvements.
- Integrated a consent management system with dynamic, region-based messaging.
- Maintained and refactored modular ad scripts to boost load speed and viewability.
- Led a rewrite of ad tech for better performance and per-site configurability.
- Built interactive campaigns for major publishers using custom components and animations.
- Automated enterprise access requests with PowerShell and API integrations.
- Built a custom Express API and React dashboard for querying long-term Active Directory audit logs.
- Improved onboarding by automating account creation and streamlining internal support processes.
- Provided IT support for network and server infrastructure, wrote documentation and provided training in this area.
- Represented the service desk in change advisory board meetings to support smooth service rollouts.
- Acted as first-line support for IT issues, resolving incidents within SLA.
- Progressed to 2nd-line support, handling escalations and liaising with third parties.