Writing
I often turn my thoughts and experiences into articles. Check out them all out here, from the early days of blogging until now.
Do you want me to write for your publication? Click here to contact me via email.
You should write modern CSS, today
Back at it
The thing every dark mode implementation is missing
The cost of moving from Google Fonts to self-hosted web fonts
How to write a go back button for JavaScript applications
CSS-only form validation, the required attribute and the valid selector
A progressive search experience in Next
A guide to React refs: useRef and createRef
For LogRocket
Writing asynchronous tasks in modern JavaScript
For Smashing Magazine
A peek at new methods coming to Promises
For CSS-Tricks
A CSS variables implementation of dark mode
New site, who dis?
The benefits of props as component slots in React
How hooks might shape design systems built in React
Animating Between Views in React
For CSS-Tricks
Font loading strategy for single page applications
Improving user perception on web applications
Fast inner navigation for static sites
Are we done mutating the DOM?
A recipe for style preprocessors and Shadow DOM
Building a Progress Ring, Quickly
For CSS-Tricks
The web components experience
The web is still broken
Brief introduction to scope hoisting in Webpack
For webpack publication
Introduction to webpack: Entry, Output, Loaders, and Plugins
For CSS-Tricks
Props and state in React components
Building smooth view transitions in React
Optimize performance in React components
The component based frameworks experience
Building a component based app with Angular 2
Building a component based app with Polymer
Building a component based app with React
Building a component based app with Vue
A Gulp recipe for timestamps
Font loading strategy for static generated sites
Classes, constructors and inheritance in ES2015
Quick introduction to the Intersection Observer API
Object literal extensions in ES2015
Patterns for a Promises based initialization
Vanilla computed properties
Always animate translate instead of positions
Quarter of a kilobyte solution for a sliding header
npm install debate
About that time I tried to beat browser cache
Automating the critical CSS inlining with npm scripts
You might not need a task runner
Data binding using the template tag
The :first-child reset
Pointers in C
The Vigenère encryption
Automating the critical CSS inlining with Gulp
What is it to be the new IE?
Why code styles in open source
Using web fonts? Be careful
Building a blog using Jekyll. Writing posts
Building a blog using Jekyll. Creating custom layouts
Building a blog using Jekyll. Install and quick setup
The rise of the static site generators
What's in your head?
Why not everyone knows about box-sizing?
Small improvements in gulp files
Using Gulp
Getting an object property from a string
How to shuffle an array in JavaScript
I love the ampersand
How Gulp helped me to deal with tech debt
Writing your own CSS fluid grid
The power of using object literals
A South American bird and cross domain calls
Moving to Markdown
Manipulating classes using the Facade pattern
Primitive values and objects
Stop the jQuery abuse!
First post ever
I am currently on sabbatical, but will soon resume the search for my next job. I prioritize positions around design systems, developer experience engineering and lastly product engineering.
Want to get in touch? Click here to contact me via email.