Blog
Welcome to my blog. I write about web development, engineering challenges, and my journey building software. I learn by building, and I use this space to document the technical hurdles I overcome along the way.
Your website is boring and AI is to blame
If you spend any time looking at new startups or portfolios lately, you probably noticed something really annoying. Every single website looks exactly the same. AI is doing all the heavy lifting for web design now, and it's killing creativity on the internet.
Confused by Breakpoints? A Junior Dev’s Guide to Tailwind CSS
Responsive design always seemed simple to me until I started using Tailwind seriously and unprefixed classes felt messy. Here is a breakdown of how sm, md, and lg actually work, and how to master the mobile-first approach.
JS Concepts Part 1: Synchronous vs Asynchronous JavaScript
Web development has moved far beyond simple static pages, and mastering asynchronous JavaScript is the reason why modern applications feel so fast. Because JavaScript is naturally single-threaded, it can only execute one command at a time.
JS Concepts Part 2: Closures and Lexical Scope
Web development has grown more complex than just writing simple scripts, and mastering closures is a big reason why large-scale applications can manage data securely. Learn how lexical scope works and how to handle private variables.
More articles coming soon...