Most frontend problems are really delivery problems — the interesting work is making the fast path the easy path for everyone who touches the codebase.
I've spent four years on frontend platforms — the kind where the hard part isn't the component, it's that a lot of people need to ship pages without breaking the build. Most of my work has been migrations and plumbing: moving legacy applications onto Next.js, standing up a headless CMS that took page publishing from two pages a sprint to two a day, and wiring a Playwright suite covering E2E, API, accessibility, and visual regression so releases stopped being a negotiation.
I care more about the second year of a codebase than the first week of it. In practice that means I'd rather add a lint rule than a conventions document, and I'll usually argue for the boring, typed, testable version of a feature. Outside of work I build small things to learn from — an AI content app on Gemini, a blog CMS on Payload — and I write up what breaks at dev.to.
Open questions
→How far can a design system go before it starts constraining product velocity?
→What does genuinely accessible rich-text editing look like?
→Where does AI-assisted development actually pay off in a large codebase — and where does it just add review load?
TypeScript
React
Design systems
A11y
Performance
The Atlas · 24 entries · 3 constellations
Skills
Magnitude encodes depth of experience, not preference. The lines are real dependencies — React to TypeScript, Payload to MongoDB, Next.js out to Vercel.
Spectrograph
24 lines · depth of experience
Sweep across it, or use the arrow keys
Docker
Familiar
Tooling · magnitude 60
No dependency lines recorded.
MongoDB
Familiar
Backend · magnitude 75
No dependency lines recorded.
Accessibility
Working
Tooling · magnitude 80
No dependency lines recorded.
Astro
Working
Frontend · magnitude 80
No dependency lines recorded.
Express
Working
Backend · magnitude 80
Depends on REST APIs
Performance optimisation
Working
Tooling · magnitude 80
No dependency lines recorded.
Playwright
Working
Tooling · magnitude 80
Depends on Accessibility
SEO
Working
Tooling · magnitude 80
No dependency lines recorded.
Vercel
Working
Tooling · magnitude 80
No dependency lines recorded.
Figma
Working
Tooling · magnitude 85
No dependency lines recorded.
Gemini / LLM APIs
Working
Backend · magnitude 85
Depends on REST APIs
Next.js
Working
Frontend · magnitude 85
Depends on Vercel
Payload CMS
Working
Backend · magnitude 85
Depends on MongoDB
REST APIs
Working
Backend · magnitude 85
No dependency lines recorded.
TypeScript
Core
Frontend · magnitude 88
No dependency lines recorded.
AI-assisted development
Core
Tooling · magnitude 90
No dependency lines recorded.
ESLint / Prettier
Core
Tooling · magnitude 90
No dependency lines recorded.
Node.js
Core
Backend · magnitude 90
Depends on Express
Tailwind CSS
Core
Frontend · magnitude 92
No dependency lines recorded.
CSS
Core
Frontend · magnitude 95
No dependency lines recorded.
Git
Core
Tooling · magnitude 95
No dependency lines recorded.
HTML
Core
Frontend · magnitude 95
No dependency lines recorded.
JavaScript
Core
Frontend · magnitude 95
No dependency lines recorded.
React
Core
Frontend · magnitude 95
Depends on TypeScript, Next.js, Astro
Core(10)Daily. Can debug deeply and would defend design decisions.
CSSFrontend
GitTooling
HTMLFrontend
JavaScriptFrontend
ReactFrontend
Tailwind CSSFrontend
AI-assisted developmentTooling
ESLint / PrettierTooling
Node.jsBackend
TypeScriptFrontend
Working(12)Shipped production work; comfortable without hand-holding.
FigmaTooling
Gemini / LLM APIsBackend
Next.jsFrontend
Payload CMSBackend
REST APIsBackend
AccessibilityTooling
AstroFrontend
ExpressBackend
Performance optimisationTooling
PlaywrightTooling
SEOTooling
VercelTooling
Familiar(2)Used and functional; would need a ramp-up.
MongoDBBackend
DockerTooling
Trajectory · 4 years · 7 burn events
Experience
Each burn is a moment where deliberate effort changed the vehicle's course.
Frontend Engineer
4 years
Burn 01
Next.js platform modernization
Led the migration of legacy frontend applications to Next.js, improving performance, SEO, accessibility, and developer experience.
Next.js
React
TypeScript
Burn 02
Headless CMS & delivery
Designed and built a scalable headless CMS on Next.js, Payload CMS, and PostgreSQL, transforming how fast pages reach production.
14×faster page deliveryFrom 2 pages per 14-day sprint to 2 pages per day
Next.js
Payload CMS
PostgreSQL
Burn 03
Multi-brand CMS setup
Architected a multi-brand CMS on a monorepo, improving code reuse, maintainability, and onboarding speed for new brands.
Monorepo
Payload CMS
Next.js
Burn 04
Playwright automation suite
Built a Playwright suite covering E2E flows, API testing, UI and snapshot tests, accessibility checks, link validation, and authentication workflows.
Playwright
TypeScript
Burn 05
Cross-team delivery ownership
Worked with backend, QA, and product teams to own frontend delivery and improve product stability and release confidence.
Burn 06
Database schema & data migrations
Performed database schema and data migrations in coordination with Payload CMS and PostgreSQL.
PostgreSQL
Payload CMS
Burn 07
Legacy JSP maintenance
Maintained and enhanced legacy JSP applications, enabling gradual modernization without disrupting production systems.
JSP
Java
Catalogued Worlds · 4 catalogued
Projects
FeaturedLive
SHB-1bLIVE
Zentauri UI
A React and Tailwind v4 component library published to npm, built on a --zui-* token contract with CVA-backed variant APIs, optional Framer Motion entry points, a headless hooks catalog, and a CLI for scaffolding. Covered by 1,359 assertions across 139 test files, including 46 accessibility tests that run axe-core and keyboard interaction against every interactive component.