Senior Frontend Engineer / 2026
I build front ends that stay fast after they ship.
I'm Miguel, a senior frontend engineer in Colombia with 17+ years of experience. A performance habit older than any framework I use, and open-source code — one widget alone serves 11M+ requests a month.
Read the writing02Skills
The stack I ship with, and what I did with it.
Framework
Next.js
App Router, Server Components and Server Actions. Nine production platforms since 2023, shipped and maintained rather than prototyped.
Library
React
Reusable component systems built from Figma handoffs, which is my weekly work. In production since November 2023.
Language
TypeScript
The default for the platforms I ship and for the packages I publish on npm.
Styling
Tailwind CSS
With Radix UI and shadcn/ui as the base of the platforms: accessible primitives, styled in one place.
Headless CMS
WordPress and WPGraphQL
WPGraphQL and REST feeding Next.js, with on-demand revalidation from WordPress when content changes.
Plugins
PHP
Eleven production WordPress plugins with PSR-4, PHPStan level 8, PHPCS and PHPUnit, released by CI.
Runtime
Node.js
The CLIs and libraries I publish on npm, such as jsdoc-to-tsdoc, recaptcha-next and docs-sitekit.
Infrastructure
AWS
CloudFront, ECS, Secrets Manager, CodePipeline and Amplify behind the production platforms.
Quality
Testing and CI
Jest, Testing Library, Cypress and Playwright, with CodeQL, Dependabot and SHA-pinned actions across 18+ repositories.
03About
I taught myself to code with no formal training, then got my first professional job in 2009 and studied Multimedia Production at SENA while working.
Since 2023 I've been back in school for a Software Engineering degree, alongside my day job as a senior frontend engineer at SilverAssist, working mostly with Next.js, TypeScript and headless WordPress.
I'm based in Madrid, Cundinamarca, Colombia. Outside of work, I'm usually out with my dog, Mila.

17+
Years of experience
9
Production Next.js platforms
11
Production WordPress plugins
11M+
Monthly requests, one open-source widget
Frontend developer
2009 to 2019
First professional job in 2009, then agencies and independent client work through 2019.
Frontend tech lead, SAP Commerce
2019 to 2024
Storefront work where the performance habit started: ES6 modules, PWAs, service workers and lazy loading. Promoted to tech lead in 2020.
React and Next.js in production
Since November 2023
Moved to React and Next.js, building platforms for a U.S. client in senior care and senior living.
Senior frontend engineer
Today
Nine production Next.js platforms, eleven WordPress plugins and my own open-source packages, built from Figma handoffs.
04What I do
The interesting part is never the first release. It's whether it still holds up a year later.
- 01
Performance that survives the release
96 desktop Lighthouse, 0.8 s LCP, 0 CLS on a production platform — and six years of the same work before the current stack, back to service workers and PWAs on storefronts.
- 02
Next.js platforms, nine of them
App Router, Server Components and Server Actions against headless WordPress and REST, shipped and maintained rather than prototyped.
- 03
Pipelines that catch things early
Matrix testing, CodeQL, Dependabot with auto-merge and SHA-pinned actions across 18+ repositories, plus CI that provisions and requests automated review.
05Work
Things that are live, and what is inside them.

FamilyAssets, a nationwide senior care directory
- Next.js
- React
- WordPress
- GraphQL

CSS and JS Minifier, a VS Code extension
- TypeScript
- VS Code API
- LightningCSS
- oxc-minify

Oasis Senior Advisors, from WordPress to headless Next.js
- Next.js
- WordPress
- WPGraphQL
- Elementor

CareChanges, a senior living search
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
06Writing
What each project actually taught me.
Not tutorials. The bug that took a week to find, the fix that turned out to be configuration, the assumption that measurement destroyed.
Taking minification offline: two Rust libraries, six platforms, seven languages
Moving my VS Code extension from a minification API to local Rust minifiers fixed every feature complaint I had, and shipped a package that only worked on my own laptop to a few thousand people who were not me.
Shipping seven languages and showing everyone English
My VS Code extension had shipped translations for seven languages since October. Nine months later I found out that six of those bundles had never been displayed to a single user, and that my i18n test suite had been asserting through the bug the whole time.
How I fixed the macOS bug that broke every VS Code extension's tests
My own extension's tests started failing on macOS. I chased the wrong cause first, then found someone else had already diagnosed the right one, and shipped the fix myself instead of waiting.
Building my first VS Code extension, from a web form to the Marketplace
I was minifying legacy WordPress theme files by pasting them into a browser tab. Here's how that turned into a published VS Code extension, and the tooling it took to get there.
07Contact
Have something to build, or just say hi.
Madrid, Cundinamarca, Colombia