A developer who thinks like a designer and communicates like a human.

Frontend Developer

ReactTypeScriptVue.jsNext.js

Modern frontend engineering with a UX-first mindset

Introduction

I've been building for the web since Flash was king. That journey — through ActionScript, JavaScript, Vue, and now React and TypeScript — means I don't just know frameworks, I understand the web platform itself. I write semantic HTML, modern CSS, and accessible interfaces because I've seen enough trends come and go to know what actually matters: does it work, is it fast, can everyone use it?

My most recent work was React and TypeScript at Everest Engineering, building features for Splose — a healthcare management platform. Before that I spent years deep in Vue.js across multiple agencies and product teams. I'm framework-flexible because my fundamentals are strong.

What makes me different from other frontend developers is that I don't just implement designs — I interrogate them. I'll flag accessibility issues, question interaction patterns that don't serve users, and fill in the gaps the brief left out. I've been told this is both my greatest strength and occasionally annoying. I'm fine with that.

Experience

  1. Contract

    Software Engineer

    Everest Engineering

    React & TypeScript feature development for Splose, a healthcare practice management platform. Built a new reporting dashboard under a tight product launch deadline, and designed a reusable "FlowModal" engine that turned repetitive modal implementations into a modular, documented system for future developers to build on.

  2. Role made redundant

    Frontend Developer

    Mira | Business Software

    Frontend development for a SaaS app built in Quasar, Vue JS and Laravel. Small, self-directed dev team that owned the full product lifecycle from user feedback through to shipping. Upskilled in Laravel and Figma on the job to contribute beyond the frontend. Created and developed a new feature from interpreting user feedback, creating wireframes, mocking up designs with component ui, developing and testing.

  3. Role made redundant

    VueJS Developer

    AdTorque Edge

    Sole developer on a ground-up SPA build in VueJS, TypeScript & Tailwind — a management tool for car-dealership franchise owners. Evaluated and replaced the original component library, set up the project architecture, and advocated for proper scoping and backend support throughout.

  4. Role made redundant

    Frontend Developer

    Honest Fox

    Developed a ground-up rebuild of the agency website in Vue, Nuxt, Tailwind & Storyblok — then went beyond the brief to make the entire site CMS-editable with a full page-builder system. Followed by general agency work across Vue, React, vanilla JS, and CMS platforms including Hubspot, Strapi, Contentful and CraftCMS.

  5. Frontend Developer

    Clemenger BBDO

    Learned Vue on the job and shipped it to production. Built Vue.js applications for BMW and Myer, including a complete overhaul of the Fashions on the Field web app under a tight Melbourne Cup deadline. Dynamic HTML banner campaigns for BMW, NAB, TAC and Belong. Later became the sole Myer eDM developer, running the full pipeline from design to Salesforce deployment.

  6. Contract

    Various Contracts

    The Royals, Trout, Cummins & Partners

    Contracts across three agencies. At The Royals: dynamic HTML banner suites for AustralianSuper (adopted by Google as a DV360 showcase), Athena Home Loans, Deakin University, Intel and REA Group, plus eDMs for Spotify and Mercedes-Benz. At Trout: product page builds for Reece Group. At Cummins & Partners: dynamic banners for SpecSavers.

  7. Developer

    Isobar Australia

    Eight years spanning the full evolution of web development — from Flash and ActionScript through to HTML5 banners, eDMs, and frontend JavaScript. Built interactive mobile games for Smiggle, redeveloped The Smith Family's donation portal with a custom state-machine, and managed the Porter Davis website solo for over a year. Became DoubleClick Studio HTML5 certified.

  8. Developer

    Cre8ive

    Early-career Flash development in Canberra — ActionScript, interactive websites and microsites, including award-winning work for the Royal Australian Mint.

Skills & Tools

  • React
  • TypeScript
  • Vue.js
  • JavaScript (ES6+)
  • HTML5 / Semantic HTML
  • CSS3 / SCSS / Tailwind
  • Next.js
  • Nuxt
  • REST APIs
  • GraphQL
  • Git
  • Agile / Scrum
  • Figma → Code
  • Responsive Design
  • WCAG Accessibility
  • Quasar
  • Laravel
  • GSAP
  • Headless CMS (Storyblok, DatoCMS, Craft CMS)
  • AI-Assisted Development (Claude, Copilot, Cursor)

How I work

I see repetitive patterns and build systems instead.

At Splose, I was tasked with implementing new 2FA modal flows. The designs had multiple variations with repetitive elements and inconsistencies between them — building each one individually would have meant messy, redundant code and a maintenance headache for whoever came next. So instead of just building what was in front of me, I designed a reusable "FlowModal" engine that separated the data layer from the modal management from the individual steps. Future devs can now create new flows, edit existing ones, and run A/B tests without touching the underlying architecture. I wrote full documentation so the system would outlive my contract. It's a pattern I keep coming back to — I'd rather spend a bit more time building something properly than contribute to technical debt.

I tend to go beyond the brief when it makes sense.

At Honest Fox, I was rebuilding the agency website in Vue, Nuxt and Storyblok. The original plan was to hard-code most pages and only make the blog CMS-editable. But once I started mapping the design components to Storyblok's content model, I realised the extra effort to make everything editable was relatively small — and since the designs were already built on reusable components, it made sense to go the whole way. I built a full page-builder system: the team could create entirely new landing pages, rearrange layouts, experiment with CTA placement — not just edit blog posts. The scope grew organically as the team saw what was possible, and the end result was a site they could manage and evolve entirely on their own.

What people say about this work

Need a frontend developer?

I'm available now and based in Melbourne. If you're looking for someone who ships clean, accessible code and actually cares about the details — let's talk.