01. About 02. Skills 03. Projects 04. Experience → Hire Me
</>
Senior Frontend Developer

I speak the native
language of the web.

Building fast, accessible, pixel-perfect interfaces — pure HTML, CSS & JavaScript, no heavy abstractions between me and the browser.

HTML5 CSS3 JavaScript ES2024 WCAG 2.2 Core Web Vitals
portfolio.html
1<section class="hero">
2 <div class="wrap">
3 <h1>Senior Dev</h1>
4 <p class="lead">
5 HTML · CSS · JavaScript
6 </p>
7 <a href="#projects"
8 class="btn">View Work
9 </a>
10 </div>
11</section>
1/* Design tokens */
2:root {
3 --bg: #080b0f;
4 --accent: #f7df1e;
5 --radius: 10px;
6}
7.hero {
8 display: grid;
9 min-height: 100vh;
10 place-items: center;
11}
1// Scroll reveal
2const obs = new
3 IntersectionObserver(
4 entries => {
5 entries.forEach(e =>
6 e.target.classList
7 .add('visible')
8 );
9 }, {threshold:0.12}
10 );
<html/> JS ES24 CSS3
Available for hire

Browser-native developer.

I've spent 7+ years mastering the fundamentals — HTML, CSS, and JavaScript — without hiding behind heavy frameworks. I write semantic markup, craft maintainable CSS architectures, and build performant vanilla JS that runs fast anywhere.

I believe the best frontend work is invisible: accessible to every user, snappy on every device, and structured so future developers can understand it at a glance.

7+
Years exp
35+
Projects
99
Lighthouse

The craft, not the framework.

HTML

Semantic HTML5

Landmark elements, ARIA roles, accessible forms, microdata, SEO-friendly document structure, and inline SVG.

Semantic markupARIAFormsSVGCanvas
CSS

Advanced CSS3

Custom properties, Grid, Flexbox, Container Queries, cascade layers, scroll-driven animations, and logical properties.

GridFlexboxCustom Props@layerAnimations
JS

Vanilla JavaScript

ES2024+, DOM APIs, Fetch, async/await, Web Workers, Proxy, and all the Observer APIs.

ES2024+Web APIsWorkersFetchModules

Performance & CWV

LCP, CLS, INP optimization. Lazy loading, srcset responsive images, resource hints, and critical CSS inlining.

Lighthouse 99srcsetlazy loadpreload
A11Y

Accessibility WCAG 2.2

Keyboard navigation, focus management, screen-reader testing, color contrast, and prefers-reduced-motion support.

WCAG 2.2 AANVDAVoiceOveraxe-core
{}

Tooling & Workflow

Vite, PostCSS, Git, Figma-to-code, browser DevTools profiling, and cross-browser testing pipelines.

VitePostCSSGitFigmaDevTools

Things I've shipped.

page-views.js
Dashboard · Vanilla JS2024

PureStats Dashboard

Real-time analytics built with zero dependencies — vanilla JS, CSS Grid, and the Canvas API. Lighthouse 100 across all four categories.

mobile desktop col 1 col 2
CSS Framework · Open Source2024

Fluid.css

A 6kb mobile-first CSS utility system using Container Queries, cascade layers, and CSS custom properties — no build step required.

const carousel = new Carousel ( el : '#hero' autoplay : true );
JS Library · Open Source2023

Carousel.js

Accessible, dependency-free slider with touch gestures, full keyboard navigation, ARIA live regions, and reduced-motion support. 4.2kb gzipped.

Where I've built things.

Senior Frontend Developer
Basecamp — Remote
2021 – Present

Own the frontend architecture for Hey email's marketing surfaces. Built a zero-dependency animation system with CSS scroll-driven animations, cutting JS payload by 40%.

HTML5CSS GridVanilla JSWCAG 2.2
Frontend Developer II
Netlify — Remote
2018 – 2021

Led the CSS architecture migration to cascade layers and custom properties, establishing design tokens that cut style duplication by 60%.

PostCSSES2020DevToolsSemantic HTML
Frontend Developer
Freelance — Toptal Network
2016 – 2018

Delivered 18 client projects — marketing sites, interactive landing pages, and component libraries — consistently scoring 95+ on Lighthouse.

HTML5CSS3JavaScriptAccessibility

Let's write
something great.

Open to senior/staff roles and interesting contract work. I reply within 24 hours.