Skip to main content

Matt Smith

  • About
  • Elsewhere
Modern Web Engineering, Front-End First

CSS does your tooltip positioning now

3 min read
0 views

If you’ve ever built a tooltip, a footnote, or a popover then you’ve written some version of this: const rect = trigger.getBoundingClientRect(); tooltip.style.top = `${rect.bottom + 8}px`; tooltip.style.left = `${rect.left}px`; Looks fine, right? Until the window resizes. Or until the page scrolls. Or the tooltip happens to land near the...

  • CSS

I stopped destructuring everything

2 min read
4879 views

For a few years I destructured almost everything. Objects, props, parameters, return values. If there was an object, I destructured it. It wasn’t a conscious decision anymore, it was just what modern JavaScript looked like. I still use destructuring, but it’s not an automatic go-to for me now. Mainly because...

  • JavaScript
  • React

The quiet problem with unnecessary async

2 min read
1375 views

There’s a pattern in JavaScript codebases that quietly spreads complexity through entire applications. You’ve probably seen something like this: async function getConfig() { return defaultConfig; } At first glance, this barely feels like a decision. Maybe one day getConfig() will fetch something remotely. Maybe it’ll hit IndexedDB later. Making it...

  • JavaScript
  • React
Older posts
GitHub
LinkedIn
CodePen
RSS
© 2026 Matt Smith. All rights reserved.