Building — Prev. VP Product @vercel

Berlin
Brother from another mother. I thought I was the only one doing that. Safari is simply the best "consumption" browser, while Chrome is the best "creation" browser.
Replying to @wongmjane
Same here. Safari is default. Chrome for dev work.
7
1
22
47,068
Safari is the fastest and most efficient browser, and most people anyways use Safari on iOS, so using Chrome as default on desktop implies not having any cloud sync between devices.
2
2
8
22,280
Leo retweeted
We are alarmed by reports that Germany is on the verge of a catastrophic about-face, reversing its longstanding and principled opposition to the EU’s Chat Control proposal which, if passed, could spell the end of the right to privacy in Europe. signal.org/blog/pdfs/germany…
688
8,397
29,344
4,778,104
Suspense in React is a solution to a problem that should have never existed in the first place. It exists to avoid blocking the UI on slow data and data waterfalls, but it is, in my opinion, fundamentally anti dynamism, anti personalization, and anti performance. Because the effort required to craft a clean UI with it is much greater than if it wasn't involved. A proper skeleton requires meticulous planning of all the potential states that a UI could be in, and then have those be represented as good as possible by the skeleton. It is always an approximation, and the worse the approximation is, the worse the user experience is. Whereas, if your data is fast, the final UI is not constrained to what the skeleton looks like, which enables the best user experience (no loading states), maximum dynamism, and thereby also maximum personalization. Of course this doesn't immediately work for any app of any size, but there is a wide range of small to medium apps for which it, in my opinion, makes the most sense. I created blade.im to make it easy to quickly build apps that offer maximum dynamism, however, without any loading states whatsoever. No skeleton, no SPA spinner, no slow TTFB. Every page render is a single database transaction, even if your layouts and page contain many dozens of queries. If you perform a write, the whole UI is updated for you, in the same transaction that performs the write.
6
18
20,468
Man, @rolldown_rs is absolutely incredible. Great API. Excellent performance. A joy to use. I just landed Rust-powered builds on Blade with @OxcProject parsing plus rolldown bundling and was able to remove ~300 LOC (and counting) compared to esbuild.
3
3
60
30,999
The best loading state is *no* loading state. The best skeleton is *no* skeleton. The best suspense is *no* suspense. Don't make your users wait because of technical constraints. UX comes first. Your users deserve what they want *immediately*, not later.
1
22
20,710
Blade just went from 140 to 240 stars over night! Thank youuu! 🫶 Excited to announce: 📦 New package name: `blade` 🚀 New init command: `npm create blade` 🦕 Deno and Node support (prev. only Bun) 🖥️ Windows and WSL support 📃 Automatic table of contents for MDX
1
19
14,789
A new docs UI by @juriadams with a cleaner layout landed as well: blade.im
6
11,315
Thanks, @theo! Working hard not to disappoint you! 🫡
7
1
87
22,038
We're working on a docs site for Blade at blade.im — seems like someone already found the link 👀
Replying to @smakosh
It's speaking my language 😍 Will definitely check this out, thanks!
1
3
20
12,277
Trimmed down Blade's JSX stream parser a lot to reduce its impact on the client bundles, which must be as minimal as possible. We'll add size stats to the upcoming site.
1
9
7,163
Blade can now be deployed to @cloudflare and @netlify with zero config, in addition to @vercel and containers! 🎉 Let me know if there are any other providers you'd like to see added. I think @deno_land and @awsamplify would make sense?
6
24
6,954
Inspired by nuqs, @nurodev added `useQueryState` to Blade, which lets you easily store state in the URL, as if it is `useState`:
1
1
20
8,826
Watching @anselm_io demo @jazz_tools at @localfirstconf. Super exciting!
2
1
12
5,051
Blade went from 0.4.4 to 0.6.3 this week! ⬥ Support for UI libs like shadcn via `styles.css` ⬥ Support for custom API routes using Hono ⬥ Natively ships Tailwind v4 (Rust engine) ⬥ Improved HMR reliability Next, @nurodev is working on a nuqs-inspired `useQueryState` hook!
1
10
6,905
Soon the readme will explode, so I will likely start moving the docs out into dedicated site: github.com/ronin-co/blade
4
3,550
Leo retweeted
Replying to @joshtriedcoding
By forcing your app to be rendered client-side, you are neglecting all advantages of RSC. Your initial page load will be a blank screen, your client bundles will become unbearably large (increasing the time to interactive), and so on. Better to stick to the Next.js defaults, IMO.
1
1
29
6,418