HNHacker News
TopNewBestAskShowJobs

Aejkatappaja

3 karma · joined April 8, 2026

Software Engineer | OSS Maintainer

https://aejkatappaja.com/

submissionscomments
Aejkatappaja··on Show HN: Davit, a Apple Containers UI
Looks nice!

Will give it a try, you won a star

Aejkatappaja··on Show HN: Jot, a menu bar app that catches a thought before it's gone
Nice, but genuinely curious vs a Raycast snippet: is local JSON + full-text search over history the real selling point? Because for quick capture Raycast already nails that.
Aejkatappaja··on Structure and Interpretation of Computer Programs Video Lectures (1986)
I always recommend these lectures, awesome!
Aejkatappaja··on Show HN: Phantom UI – Skeleton that measures your real DOM (Web Component, 8kb)
Thanks!
Aejkatappaja··on Show HN: Phantom UI – Skeleton that measures your real DOM (Web Component, 8kb)
Thanks, let me know how it goes!
Aejkatappaja··on Show HN: Phantom UI – Skeleton that measures your real DOM (Web Component, 8kb)
Thanks! Right now it relies entirely on getBoundingClientRect(), so if an element has no dimensions yet the block gets skipped.

For images/videos I added a load event listener that re-measures once the media loads and takes up space.

For elements that are truly dynamic with no initial size, the best workaround today is setting explicit dimensions via CSS (min-height, aspect-ratio, etc.) which is good practice for CLS anyway.

That said, something like data-shimmer-width / data-shimmer-height attributes to manually override sizing could work well for that use case.

Adding it to the backlog!

Aejkatappaja··on Show HN: Phantom UI – Skeleton that measures your real DOM (Web Component, 8kb)
Thanks! That's just how custom elements work in React, you use the HTML tag name directly.

React 19 has native custom element support so <phantom-ui> works as-is, no wrapper needed.

Keeping it as a single HTML tag across all frameworks is the whole point.