Topic
Frontend
44 articles on Frontend — each with a runnable playground and a quiz.
JavaScriptYou're polling setInterval to detect DOM changes.
Aug 11 · 4 min JavaScriptYou're importing pako to gzip data.
Aug 10 · 4 min JavaScriptYou built your modal with a
Aug 8 · 5 min JavaScriptStop importing
Aug 8 · 3 min JavaScriptYou're installing date-fns for 'X hours ago'.
Aug 7 · 4 min JavaScriptYou use
Aug 6 · 4 min CSSYou're collecting async iterable results with a for-await loop.
Aug 5 · 4 min CSSYour browser renders everything, even what you can't see —
Aug 4 · 5 min JavaScriptYou're writing dark-mode colors twice.
Aug 2 · 5 min
You're polling setInterval to detect DOM changes. MutationObserver fires when they happen.
Aug 11 · 4 min JavaScriptYou're importing pako to gzip data. CompressionStream does it natively.
Aug 10 · 4 min JavaScriptStop using the localStorage hack to sync browser tabs. BroadcastChannel does it natively.
Aug 9 · 4 min HTMLYou built your modal with a <div> and a focus trap library. The native <dialog> does all of that.
Aug 8 · 5 min JavaScriptStop importing uuid. crypto.randomUUID() has been native since 2021.
Aug 8 · 3 min JavaScriptYou're installing date-fns for 'X hours ago'. Intl.RelativeTimeFormat does it natively.
Aug 7 · 4 min JavaScriptYou use obj.hasOwnProperty(key) to check property ownership. It can silently fail. Object.hasOwn() is the safe replacement.
Aug 6 · 4 min CSSContainer queries can check more than size — style queries let components read custom property values
Aug 6 · 4 min JavaScriptYou're collecting async iterable results with a for-await loop. Array.fromAsync does it in one call.
Aug 5 · 4 min CSSYour browser renders everything, even what you can't see — content-visibility: auto fixes that
Aug 4 · 5 min JavaScriptYour UI is freezing because you never gave the browser a break
Aug 3 · 4 min CSSYou're writing dark-mode colors twice. light-dark() fixes that.
Aug 2 · 5 min page 1 of 4