The Journey Back to CSS: Why Modern Animations Don't Need JavaScript

Once upon a web, we didn’t debate between Flexbox or Grid — we debated how many nested <table> tags were too many. Animations? Hope your users had Flash. Styling? Inline CSS was your best friend. It was messy, creative, and oddly charming — but also deeply limited. Then Everything Changed Let’s rewind to understand how we got here. Back in the early 2000s, CSS was… let’s be honest, pretty basic. We were still building layouts like this: ...

July 28, 2025 · 5 min · me

The Finishing Touches: Keyboard Shortcuts, Task Editing & Delightful UX

this is the fourth post of Building a Minimalist Task Manager series part 1 - Setting Up the Bare-Bones Task Manager with HTML, CSS & JS part 2 - Adding the Three-Task Focus Rule (And Making It Feel Good) part 3 - Making It Stick: Adding localStorage and Task Persistence Welcome to the grand finale of our vanilla JavaScript task manager series! We’ve built something genuinely useful - a task manager that enforces focus, persists your data, and lets you prioritize with drag-and-drop. But you know what separates good software from great software? The little details that make you smile while using it. ...

May 24, 2025 · 9 min · me

Adding the Three-Task Focus Rule (And Making It Feel Good)

This is the second post of Building a Minimalist Task Manager series part 1 - Setting Up the Bare-Bones Task Manager with HTML, CSS & JS part 3 - Making It Stick: Adding localStorage and Task Persistence part 4 - The Finishing Touches: Keyboard Shortcuts, Task Editing & Delightful UX Welcome back to our vanilla JavaScript task manager series! In the last post, we built a solid foundation with basic add/delete functionality. Today, we’re adding the star of the show: the three-task limit that gives our app its personality and purpose. ...

May 10, 2025 · 7 min · me