A 7-day free email course

Ship Better Websites With Less JavaScript.

Understand modern HTML & CSS for building more accessible and performant websites. Without JavaScript bloat.

    Join over 1,900 developers. No strings attached, unsubscribe anytime!

    Illustration for this email course

    You're here because you're tired of...

    • Adding JavaScript for every small UI interaction
    • Struggling to get CSS to do what you want
    • Maintaining JS code that CSS could handle natively
    • Guessing syntax instead of knowing what's possible

    That's exactly why I created this email course. You'll build a CSS mental map. Not syntax to memorize, just clarity on what's possible.

    Inside the 7-Day Course

    Most CSS wins happen when you remember a CSS tool exists that you thought needed JavaScript.

    The :has() selector

    Style elements based on what they contain. Replace JS state management with pure CSS selectors.

    Scroll-driven animations

    Tie animations to scroll progress without wiring up any JavaScript event listeners.

    CSS Motion Path

    Animate elements along custom curves. Create polished UI motion with minimal code.

    Native state in CSS

    Use :checked, :target, details[open] and other built-in states for rich interactions.

    Theo Soti profile picture

    Theo Soti

    Hi there! I'm a Frontend developer writing about modern HTML & CSS. I share practical ideas from real projects to reduce JavaScript, improve accessibility, and ship faster websites.
    Author of You Don't Need JavaScript ebook.
    Over 17 000 followers on LinkedIn, and over 9 million views in a year.