---
title: "Senior Frontend Engineer | Martin Masevski"
description: "Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship."
canonical_url: "https://martinmasevski.dev/"
meta:
  "og:description": "Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship."
  "og:image": "https://martinmasevski.dev/_og/s/o_5f85b1904f321880.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Martin Masevski | Senior Frontend Engineer"
  "twitter:description": "Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship."
  "twitter:image": "https://martinmasevski.dev/_og/s/o_5f85b1904f321880.png"
  "twitter:title": "Martin Masevski | Senior Frontend Engineer"
---

> Index of every page on this site: [llms.txt](https://martinmasevski.dev/llms.txt)

# Engineering, testing and shipping reliable, type-safe interfacesEngineeringPerformantInterfaces

Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship.

Get in touch [Read Articles](https://martinmasevski.dev/blog)

## How I ship

AI agents write and review the code. I build what lets them prove it works.

<dl>

<dt>500+500+**PRs a month**</dt>
<dd>Written and reviewed by AI agents</dd>

<dt>99%99%**of PRs kept**</dt>
<dd>Never rolled back or fixed later for a bug they introduced</dd>

<dt>10+10+**gates on every PR**</dt>
<dd>Specs, linting, type checks, unit, end-to-end and visual regression tests, and CI rules enforced by GitHub rulesets</dd>

<dt>00**humans in the test loop**</dt>
<dd>The goal: people write the specs and set the rules, and the harness tests every change</dd></dl>

My rule: *“leave the codebase better than you found it.”*

## Projects & Open Source

Tools I build in the open, and how I give back to the ones I use every day.

### [Storybook Swiss Knife](https://github.com/Archetipo95/storybook-github-swiss-knife)

GitHub Actions that run visual regression and accessibility checks on every pull request, and post the results in one PR comment.

CreatorGitHub Actions

### [LocalVoice Studio](https://github.com/Archetipo95/localvoice-studio)

Private text-to-speech that runs a neural model fully in the browser, with WebGPU and a WASM fallback. No server, no data collection.

Creator [Live demo](https://localvoice-studio.netlify.app)

### [Vue](https://github.com/vuejs)/ [Nuxt](https://github.com/nuxt)/ [Storybook](https://github.com/storybookjs/storybook)/ [FormKit](https://github.com/formkit)

I also report bugs, write reproductions and fix docs, including Italian docs for Storybook.

TesterDocs [Nuxter](https://nuxters.nuxt.com/Archetipo95)

## Work Logs

The timeline starts when I went full time. I've been writing code since high school in 2010, through a BSc and a few small jobs.

### **Senior Frontend Engineer**

[hubcore.AI (Destination Italia)](https://hubcore.ai/en/), Remote, ItalySep 2025 to now1 year 3 months

- ****Quality Gates:**** Brought tests and checks to the group's booking and checkout app (Vue 3, Nuxt, TypeScript, plus legacy Nuxt 2 and jQuery): 1,000+ unit tests (Vitest), Storybook at 100% component coverage, and visual regression and accessibility checks on every PR.
- ****Faster CI:**** Cut PR checks from 8.5 to about 4 minutes and made visual regression 2x faster, using AI coding agents with a human approving every change.

## Tech Stack

### Daily drivers

- **Vue.js**Every day since 2021
- **Nuxt.js**SSR, SSG and this site
- **TypeScript**Strict, everywhere
- **TailwindCSS**Design systems
- **Vitest**Unit tests
- **Playwright**End-to-end tests
- **Storybook**Components and visual checks
- **GitHub Actions**The CI that runs the gates

### Also in the toolbox

<dl><dt>Frontend</dt>
<dd>JavaScript, HTML, CSS, React, Next.js, Pinia, VueUse, Nuxt UI, Nuxt Content</dd>
<dt>QA &amp; Testing</dt>
<dd>Chromatic, Sentry, Datadog, Lighthouse, ESLint, Prettier, Test-Driven Development (TDD), Accessibility Testing (WCAG), Performance Optimization</dd>
<dt>DevOps</dt>
<dd>Node.js, REST APIs, Server-Side Rendering (SSR), Static Site Generation (SSG), Headless Architecture, Jamstack, Webpack/Vite, Docker, Netlify, Cloudflare, Vercel, Supabase, Contentful, Storyblok, CommerceLayer, Algolia, GraphQL</dd>
<dt>AI</dt>
<dd>LLM Integration, AI-Assisted Code Generation, AI Test Automation, RAG Pipelines</dd>
<dt>Methodologies</dt>
<dd>CI/CD Optimization, Atomic Design, Gitflow, Agile/Scrum, Monorepo Management, Figma</dd></dl>

## Latest Writing

[Browse all articles](https://martinmasevski.dev/blog)

[<h3>**Debugging Home Wi-Fi with Claude Code and the 5 GHz Radar Rules**</h3>How an AI agent with browser and terminal access found a 2.4 GHz bottleneck on a 5 Gbps fiber line, and why 5 GHz Wi-Fi sometimes has to wait for radar. Nov 6, 2026new](https://martinmasevski.dev/blog/debugging-home-wifi-claude-code-dfs-radar)

[<h3>**How I built this site with Nuxt and Vue and kept Lighthouse at 100**</h3>The Nuxt and Vue setup behind martinmasevski.dev, the features I had fun building, and how it scores 100 on Lighthouse with animations and images on every page. Nov 4, 2026new](https://martinmasevski.dev/blog/building-martinmasevski-dev-nuxt-vue)

[<h3>**Turning a neon dark site into an accessible light theme**</h3>My site was dark only, all neon pink and gold. Adding a light theme meant new colors that pass AAA, a switch that remembers you, a reveal animation and daytime covers. Nov 1, 2026new](https://martinmasevski.dev/blog/designing-an-accessible-light-theme)

## Side Quests

Away from the keyboard.

### On the move

- Mountain hiking
- Trekking
- Traveling
- CrossFit

### At the table

- Chess
- Board games
- Poker (Texas Hold'em)
- Blackjack

### Off the clock

- Reading
- Podcasts
- Movies & TV Series
- Gaming

## Get in touch

\[my\_time]My time Rome **--:--**

\[your\_time]Your time **--:--**

Open to senior frontend and test automation roles, and always happy to talk about shipping AI-written UI safely.

Email [martin.masevski@gmail.com](mailto:martin.masevski@gmail.com)

LinkedIn [linkedin.com/in/masevski](https://www.linkedin.com/in/masevski/)

GitHub [github.com/Archetipo95](https://github.com/Archetipo95)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://martinmasevski.dev/#website","@type":"WebSite","description":"Senior frontend engineer working in Vue, Nuxt and TypeScript. I build the tests and checks that make AI-written UI safe to ship.","name":"Martin Masevski","url":"https://martinmasevski.dev/","publisher":{"@id":"https://martinmasevski.dev/#identity"}},{"@id":"https://martinmasevski.dev/#webpage","@type":"ProfilePage","description":"Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship.","name":"Senior Frontend Engineer","url":"https://martinmasevski.dev/","about":{"@id":"https://martinmasevski.dev/#identity"},"isPartOf":{"@id":"https://martinmasevski.dev/#website"},"mainEntity":{"@id":"https://martinmasevski.dev/#identity"},"potentialAction":[{"@type":"ReadAction","target":["https://martinmasevski.dev/"]}]},{"@id":"https://martinmasevski.dev/#identity","@type":"Person","description":"Hi, I'm Martin, a senior frontend engineer working in Vue, Nuxt and TypeScript. AI can now write UI faster than teams can review it, so I build the tests and checks that make it safe to ship.","email":"martin.masevski@gmail.com","jobTitle":"Senior Frontend Engineer","name":"Martin Masevski","url":"https://martinmasevski.dev","alumniOf":{"@type":"EducationalOrganization","name":"Università degli Studi di Padova","sameAs":"https://www.unipd.it"},"image":{"@type":"ImageObject","@id":"https://martinmasevski.dev/#/schema/image/profile","url":"https://martinmasevski.dev/images/profile.png"},"knowsAbout":["Vue.js","Nuxt","TypeScript","Web accessibility","Frontend testing"],"knowsLanguage":["en"],"sameAs":["https://www.linkedin.com/in/masevski/","https://github.com/Archetipo95","https://nuxt.com/nuxters/Archetipo95"],"worksFor":{"@type":"Organization","name":"hubcore.AI (Destination Italia)","url":"https://hubcore.ai/en/"}}]}
```

## Sitemap

See the full [sitemap](https://martinmasevski.dev/sitemap.md) for all pages.
