@0xGoodfuturei
iAccount based inCanada
About this account
- Account based in
- Canada
- Connected via
- Canada App Store
Account-level information from X, not a live location or the device used for a specific post.
building things with my internet friends
Joined July 2021
- Tweets4.8K
- Following2.3K
- Followers6.6K
- Likes8.4K
Pinned Tweet
every skeleton screen you've ever hand-coded is a waste of time
you're literally measuring padding and guessing widths to build a worse version of a layout that already exists in your DOM
so I made a package that just reads the real one
goodfuture retweeted
Replying to @0xGoodfuture
it's battle-tested too! i have it deployed in prod in two client projects
Boneyard just passed 100k downloads in its first month and quickly growing, crazy!
goodfuture retweeted
Polish isn’t decoration. It’s the accumulated effect of caring about every small thing until the small things stop calling attention to themselves.
5 releases in the last few days
boneyard-js v1.7.1 → v1.7.6 🦴
biggest change: it actually looks nicer out of the box
- redesigned defaults
- more configurable when you need it
- dark mode rebuilt across frameworks
- fixed angular + react issues
30k installs / 4.8k stars
4k stars. 11k installs. 7 days.
boneyard v1.7.0 🦴
new this week:
- vite plugin (no second terminal)
- connect to existing chrome session (--cdp)
- stagger + transition animations
- react native 0.76 fix & docs
went from react-only -> multi-framework in a week
and we already shipped again
boneyard v1.7.1 🦴
< 24 hrs later:
7 PRs merged
new:
- native preact support
- RN dynamic type + 60fps shimmer + stagger
guided crawling config
- angular ESM fix
- better CLI diagnostics
huge shoutout:
@JanoTheDev - preact, RN animations, angular fix
@CalmProton - DX improvements + deps
open source is undefeated
full changelog is kinda insane tbh:
svelte adapter (gh:sandersonstabo)
compiled layout engine (gh:MaTriXy)
react native support (@JanoTheDev)
auth headers & cookies (gh:Minterl)
vue 3 adapter
angular adapter
native device scanning
env loading (gh:Jboltle)
watch mode + docs overhaul
svelte 5 refactor (gh:directormac)
nuxt & remix route scanning
vite plugin (no second terminal)
stagger + transition animations
--cdp (connect to chrome)
rn 0.76+ hermes fix
validation + error handling (gh:hobostay)
7 contributors
14 PRs merged
11 issues closed
boneyard v1.6.4 is out 🦴
- Vue support is now live!
- Native device scanning - capture bones straight from your running React Native app
- Security hardening across the CLI and all adapters
- React, React Native, Svelte, Vue - one CLI, four frameworks.
community keeps pushing PRs as we just hit 5600 weekly downloads!
boneyard v1.6.5 is out 🦴
- Angular adapter is live
- Watch mode re-captures skeletons on HMR changes
- Route scanning finds pages not linked in your nav
- Framework auto-detection for registry imports
- Svelte 5 attach refactor
- Bun --env-file support
boneyard now supports React, React Native, Expo, Next.js, Nuxt, Vue, Svelte, SvelteKit, Angular, Remix, and Vite.
Thanks to gh:directormac, @JanoTheDev, and gh:Jboltle for their contributions on this release as the package approaches 10k weekly downloads.
boneyard v1.6.3 is out 🦴
- Svelte 5 adapter
- React Native support (iOS + Android)
- Compiled layout engine (up to 105x faster relayouts)
- Auth support for protected routes (cookies & headers)
All from community PRs!
opensource >
design changes? re-run the build. skeletons update because they come from the real layout, not a copy you forgot about 3 sprints ago
boneyard-js just got an upgrade (v-1.6)
- compact bone format - smaller .bones.json files
- incremental builds - only recaptures changed components
- boneyard.config.json - one file for all defaults
- new docs: responsive, SSR, changelog
1400 stars in 24 hours
sometimes it's the problem that devs experience every day that is the most important to try to tackle
skeletons ship in your SSR response - no client JS needed.
pass fixture data, run the CLI, and Playwright snapshots your real DOM into a tiny JSON file.
at runtime, the skeleton renders from that JSON before any JS loads.