
This is the first post in a series all about uploading files to the web. In this post, we cover the steps needed to upload files using only HTML.

Avoid duplicate-request & race-condition when creating JavaScript enhanced forms. Cancel previous fetch requests with AbortController.

This page provides resources for working with CSS Name Colors. It contains Named Color groups, palettes, favorites, and even fun facts.

JavaScript Promises evaluate eagerly, but sometimes that's a problem. This post covers why and how to create custom lazy-evaluating promises.

Learn how to build backend APIs that support progressive enhancement by detecting if a request was submitted with HTML forms or JavaScript.

Learn how the CSS :has() pseudo-class can improve HTML forms through validation hints, conditional content, fancier designs, and more.

When choosing between pixels and rems in CSS, you should almost always use rems. It's a simple rule to follow. This article explains why.

This is an introduction to Coolify, a project that can deploy custom applications based on Git events. It's similar to a self-hosted Netlify or Heroku.

Learn how to make HTML images better for users with responsive sizes and modern formats without making your life as a developer much harder.

You may be familiar with using devtools to modify a website's HTML. In this blog post, I'll show you two more ways: contenteditable and designMode.