Vue 3 · Nuxt · TypeScript

Jake Armour

Senior Frontend Developer

I build interfaces for products people use every day — mostly in Vue and Nuxt, and mostly at the point where a design system meets real production constraints.

I'm currently a senior frontend developer at Spamhaus, where I've led two company rebrands and built the Vue 3 component library the rest of the team ships on. Outside work I build tools I actually need: a component workshop for Vue, a zero-knowledge password manager, and a monitor that watches the containers running in my house.

Email me

Selected work

All work

Experience

Senior Frontend Developer

SpamhausSep 2023 — Present

  • Vue 3
  • Nuxt
  • TypeScript
  • Tailwind CSS
  • Directus
  • PayloadCMS
  • Led two full company rebrands from a frontend perspective, translating third-party UI/UX designs into scalable, production-ready code in Vue 3, Nuxt and Tailwind CSS.
  • Architected and maintained a reusable Vue 3 / TypeScript component library, establishing design consistency across applications and significantly increasing team development velocity.
  • Gave the non-technical marketing team a hands-on playground for components they had otherwise only seen as Figma frames, so they could try the real thing with real props rather than signing off from a design file.
  • Served as the primary frontend developer on multiple major customer-facing launches, taking features from concept to production in a high-autonomy environment.
  • Optimised web performance and Core Web Vitals, improving load times, accessibility and overall user experience across the primary platforms.
  • Integrated headless CMS solutions (Directus, PayloadCMS) with Nuxt, developing custom schemas and dynamic UI components so marketing could build and update content independently.
  • Partnered with marketing to build flexible, CMS-driven page templates, streamlining campaign launches while holding brand consistency across core platforms.
  • Worked with backend engineers and DevOps to integrate REST APIs and streamline automated CI/CD deployment pipelines.

Earlier roles

May 2022 — Sep 2023

Frontend Developer — Awin

1 yr 4 mos

I contributed to the rewrite of the user platform from Vue 2 to Vue 3, including a custom component pack, then redesigned and rewrote the admin interface to align with the new v2 interface. I introduced a code coverage tool and conventional commits to make the change history easier to track, and worked with client services on reported bugs, feeding progress back through our ticketing system.

Mar 2021 — May 2022

Web Application Developer — Vanti

1 yr 2 mos

One of a three-person frontend team building Kahu, a desk and room booking system. I implemented a full redesign of the user application to streamline the booking journey, and helped raise test coverage — maintaining both the e2e and unit suites, and reviewing as much code as I submitted.

Jun 2019 — Mar 2021

Web Software Developer — CGG

1 yr 9 mos

My graduate role, on an internal web development team spread across Singapore, Crawley and Texas. I maintained the intranet the whole company used daily, and helped research and launch a new wiki to centralise the company's information in one place.

Jul 2016 — Aug 2017

Web Technician — The British School of Brussels

1 yr 1 mo

A placement year from my degree, maintaining the school's management information system (iSAMS), supporting staff and students day to day, and imaging teacher and student laptops ready for rollout. I also built a security application for the campus gate team, letting them check the person at the main gate against the registration plates parents had registered.

Skills

Core

  • Vue 3
  • Nuxt
  • TypeScript
  • JavaScript
  • HTML/CSS
  • Tailwind CSS
  • Pinia

Also

  • Design systems
  • Component libraries
  • Headless CMS
  • Core Web Vitals
  • Unit testing
  • CI/CD
  • Data visualisation
  • Git

Education

2014–2019

MEng Computer Science

The University of Huddersfield · Pass with Distinction

2012–2014

BTEC Information Technology

Telford College of Arts and Technology · D*D*D*

Contact

Open to senior frontend roles — remote, UTC−2 to UTC+2. The quickest way to reach me is email.