The Whiteboard Guy @warpdotdev

Ordering more markers
Introducing Hubble: the best notepad for you and your agents. - Feels like Notion or Apples Notes, but for Markdown - Live-reloading editor to collaborate with agents - Supports HTML-based apps to build interactive visualizations Free and open-source 👉 hubble.md
62
75
1,176
146,343
aaaaand back to Safari
252
65
5,099
880,517
Y'all are sleeping on the Apple Passwords app. - One-time code generator - Passkeys - Autofill in Safari and Chrome (with extension) - WiFi login management Deleted my 1Password and haven’t looked back
330
121
4,018
487,385
💡 Annoyed when your iPhone sends an HEIC file? Macs have a built-in conversion tool called sips: sips -s format jpeg input.heic --out output.jpg No need to install image magick even
93
246
3,106
251,302
Dang, svgl is a clutch little website. Logos for every tech project, with super fast local search
38
185
2,783
155,821
I’ve been screenshotting photos to convert to jpeg this whole time. Thank you 🙏
21
10
2,491
Another day, another "open with default application"
34
185
2,399
189,051
Hot take: If your git commit message has an "and" in it, it should probably be two commits
469
97
2,484
183,817
Stop using Postman to test your APIs 😤 @warpdotdev is all you need
93
205
2,233
105,797
"JS will have its Ruby on Rails someday" 2023:
38
168
2,099
357,694
Huge MacOS 26 upgrade: you can force hide menu bar apps now 🧘
84
78
2,183
222,568
TypeScript
15
331
2,004
207,454
Repeat after me: One 👏 Component 👏 Per 👏 File 👏 IS 👏 WRONG 👏
291
155
1,871
549,214
I have to google every time...
42
114
1,830
134,225
You're doing tailwind `text` size wrong 😤
47
182
1,743
120,078
Tailwind v4 killed the config file 😳 Now, it's just CSS variables. Here's why that's awesome
25
125
1,585
86,904
I genuinely don’t understand why so many people hate CSS
258
43
1,384
408,816
23
63
1,415
155,297
Holy CRAP React
37
113
1,343
This honestly might be the cleanest app routing convention I’ve seen. Well done React Router 👏
41
60
1,343
147,587
If you thought node_modules were bad, I give you... Rust cargo cache
34
37
1,328
104,630
I just deployed a Node server with a SQLite file. By hand. And it worked. Why did nobody tell me I could do this
48
23
1,296
149,598
Me using Zod like
17
46
1,241
132,903
TIL Zod has an `instanceof` validator. This file uploader is just too easy 😩
14
69
1,216
103,029
Startup time for Zed (left) vs. VS Code (right) VS Code takes seconds, Zed takes frames 😓
221
39
1,184
286,991
Hey frontend devs! If you’re trying to have better design sensibilities but think “I’m not creative enough”... just read this. Years later, I still go back and reread it when I’m struggling. Some golden rules in here 🙏 @adamwathan @steveschoger medium.com/refactoring-ui/7-…
9
277
1,175
Uh, Spotify... I can barely see the actual interface now 🤦‍♂️
67
19
1,088
215,303
Alright Tailwindies: which will it be?
116
31
1,146
187,172
Hot take: React Native may be irrelevant in the next few years. I’d try using the native tools (Swift, Kotlin) to build apps that truly feel native. Then, use AI to translate features between them. The language barrier is crumbling, so why use a lowest common denominator?
146
37
1,157
225,117
This video freaking BLEW MY MIND. You can use copilot to *ask* what a regex in your codebase does. It'll even give you test cases 🤯 @code piped.video/shorts/dTAZui3k4…
27
132
1,107
About to send a POST request to my REST server
29
41
1,081
155,849
⭐ overscroll-behavior: contain is the key to native-feeling scroll views
16
44
1,162
51,948
Go is friendly C Rust is friendly C++ Did I get that right?
112
30
1,058
231,997
Holy crap, Cline can browse GitHub examples to learn how they work 🤯I just fed in a URL and it taught me about how to use the library. I've seen it all
20
76
1,113
114,676
Every React app needs this CSS property 👀
25
74
1,105
63,753
I think about this post a lot
23
167
1,057
111,945
TIL that Swift has state machines at the language level. You can use types to define each state, and use `where` to define what actions are available when you're in that state. Clean 👏 @DavidKPiano could on dream of this in JS...
34
39
1,083
119,093
Dang, Golang is so great for building servers. - Built-in `io` package - `ReadAll` that can handle files and HTTP responses in the same way - `defer` to colocate cleanup code with your app code ...I might be becoming a gopher 🐹
47
45
1,051
98,581
I made a state management library for React. It's called simple store. Goal: make Zustand way simpler ⭐ - Stores are like atom() in Jotai, so types are inferred - You can select nested values, and use *them* as stores too To understand that last point, watch to the end! 👀
59
61
1,082
79,843
I like HTMX because all the state is on the server I like local-first because all the state is on the client I dislike server components because the state is everything everywhere all at once
38
40
1,020
87,850
Not just the use case, the whole feature. WHEN on EARTH would I take a photo with this and not feel creepy or dystopian
18
5
931
372,097
You can put SQLite in the browser now? Yeah, here's how 👀
14
78
1,035
45,270
Hardest part ain't backend Hardest part ain't frontend Hardest part is getting them to talk to each other
106
93
969
139,317
Well everyone, I'm very excited to announce... I'm joining the @warpdotdev team full time!
72
10
1,036
64,981
Everyone: GitHub Desktop is better! No, VS Code! Me: ...I just use `git add -p`. Walks you through each change, hunk for hunk, and lets you accept with `y`. It’s like a mini code review before you commit. Pair that with dandavison/delta, and you get syntax highlighting too 👀
65
48
990
116,703
With serverless on the rise, cache is king 💰 To speed up responses and cut down on your server biil, let's walk through Cache-Control headers that'll fine-tune *how* and *where* cache is stored! #WhiteboardTheWeb edition 59
22
124
957
Replying to @ThePrimeagen
json't
14
31
935
41,138
No matter how much serialization you have, you'll never convince me that a client function should have closure around a server function. It's begging for footguns 😓
34
42
938
136,864
I mean... we all know who's in charge right?
28
59
916
75,738
To be fair, you have to have a very high IQ to understand TypeScript. The inference is extremely subtle, and without a solid grasp of generics most of the type errors will go over a typical programmer's head. There's also Microsoft's nihilistic outlook, which is deftly woven into their Copilot suggestions - its personal philosophy draws heavily from @mattpocockuk literature, for instance. The fans understand this stuff; they have the intellectual capacity to truly appreciate the depths of his egghead courses, to realize that they're not just well-paced- they say something deep about LIFE. As a consequence people who dislike TypeScript truly ARE idiots- of course they wouldn't appreciate, for instance, the humour in @t3dotgg's existential catchphrase "you're really gonna make me talk about Flutter?" which itself is a cryptic reference to Google's enterprise epic Build Mobile Apps with a Game Engine. Gosh I'm smirking right now just imagining one of those script-writing simpletons scratching their heads in confusion as Josh Goldberg's typesafe genius unfolds itself in their VS Code editor. What fools... how I pity them. 😂 And yes by the way, I DO have a `page.tsx` tattoo. And no, you cannot see it. It's for the open source maintainers' eyes only- And even they have to demonstrate that they're within 5 IQ points of my own (preferably lower) beforehand.
57
42
925
206,980
Astro + React 19. It's gonna be huge.
37
52
936
111,329
Replying to @madzadev
15
12
907
37,300
Deciding between Zustand and Jotai for your @reactjs app? Let me help you choose.
30
57
952
47,390
🔥 NEW DATABASE JUST DROPPED 🔥 It's this thing called a "file system" apparently. Cross-platform, local first, zero dependencies. Idk if it'll scale though
58
31
925
120,219
Some React devs assume you need to npm install a library to get tooltips. Not true! For icon buttons, use a combo of the `title` attribute and screenreader text with @tailwindcss' sr-only class. Gives you a native tooltip for the label while improving a11y
37
38
940
98,077
TIL the @zeddotdev font is open source. Loaded into Cursor and it looks awesome, in a retro sort of way
42
22
929
86,840
Okay, I'm impressed with @biomejs
28
48
885
130,572
Tailwind is not a design system.
59
44
855
There are 3 constants in this world. 1. Death 2. Taxes 3. cmd + shift + p “TypeScript: Restart TS Server”
19
52
885
49,126
Everyone: dude you gotta download this icon library it bundles everything with sprite deduping and type-safe icon names and brotlis to negative 10 kb Me:
32
32
887
98,691
Alright, finally looked into local-first web apps. I get it. This is the future.
42
53
843
161,210
Servers should return HTML whenever possible
98
25
806
272,453
Learning more about local-first tech. This editor works offline, and syncs changes when you're back with zero conflicts. Using Automerge. It's a brilliant library! 🙌
12
31
809
93,336
❌ NO MORE REACT 🧡 This is a Svelte account now
80
26
787
101,819
Wondering how you'd rewrite a full-stack app with React Server Components? Here's a simple before and after based on NextJS. TL;DR: fewer files, simpler code 🙌
21
73
791
139,144
FIRST YOU WANNA INSTALL PRETTIER ESLINT ESLINT-PLUGIN-PRETTIER AND ESLINT-CONFIG-PRETTIER THEN THEY MIGHT SAY ENABLE FORMAT ON SAVE BUT YOU SHOULD ACTUALLY DISABLE THAT AND USE ESLINT CODEACTIONSONSAVE SO ESLINT HANDLES FORMATTING THEN FLIP SPACES TO TABS BECAUSE ITS MORE ACCESSI
14
67
737
The perfect abstraction doesn't exi
24
46
785
128,033
Upgrading to MacOS 26 makes me wanna switch to my own custom linux distro just to fix everything
64
14
799
68,272
form actions in React 19 are a gamechanger. Even if you don't use Next 👇
9
50
810
43,706
Rust is so nice. Why don’t people use it for UIs? *one line change compiled in 1 minute* Ah, right…
38
1
767
65,027
Man, I forgot how good this feels. @biomejs even supports React Refresh rules now. Down with eslint!
34
29
795
70,204
💡 Reminder to add this git setting to your bash rc file: git config --global branch.sort -committerdate `git branch -l` lists alphabetically by default, so it's hard to find recent branches. This sorts by date instead!
26
59
784
40,048
Node slow down Bun needs market share
12
53
748
47,127
Dang if Vite Plus has all this, can’t wait for Vite Plus Pro Max
19
40
761
78,858
Replying to @luke_pighetti
Forgot how gross comment sections look outside my twitter bubble. Why are we mad at shared happiness…?
7
1
711
27,807
Ugh, I can't get over how simple Zod is. Just wrote a form validator to ✅ Check required fields ✅ Check the email format ✅ Ensure pw and confirm pw match ...That I can use server-side + client-side with any framework 👏
13
51
726
Stop using "npm run" 😤
31
83
729
184,892
Building a JS app: computer dies in 3 hours Building a Rust app: ...it's the end of the day and I'm at 64% What did we do 😓
35
15
724
86,539
The default Tailwind gradients are kinda bland. Spice them up with this one simple trick! 🌶️
11
45
735
51,852
Stop using document.removeEventListener() 😤
20
46
696
68,342
I'm so frustrated by AI devs saying "markdown specs" and "plain English" are the future of programming. No they're not. I think in diagrams, in mockups, in whiteboard sessions. The future should be way, way more visual than whatever we're doing right now with agentic chatbots
72
33
711
44,893
Implement from scratch. Feel the pain of complexity. Understand where the pain comes from. Finally... install that helper package
23
58
711
37,580
🤯 What, Chrome has an AI summarizer API built in now?? - No API keys, no internet. Runs locally - Downloads the model on-demand - Available as a global in the latest version of Chrome. Works in chrome extensions too I have so many chrome extension ideas now...
31
63
719
89,750
Woah, React 19 supports `ref` as a function? Secretly so powerful. No more `undefined` checks and useEffects just to add some document event listeners. Handle everything with a function in-line 👍
13
43
706
58,648
...Is it bad I kinda prefer option 2? 🥴
45
25
697
137,561
Tailwind users: it's time to fix your z-index problems.
18
44
698
44,084
Nothing beats a nice pair of headphones with a wire. Nothing.
60
32
659
148,242
Come on Claude this is getting ridiculous...
20
19
668
207,774
Tauri v2 is here to kill Electron... AND React Native? 💀
32
32
662
66,009
No more page refreshes in Astro projects! 🤩 Experimental view transitions: animate between pages like iPhone apps 👀
31
62
664
82,321
I'm ditching eslint for biome. Here's why you should too 👀
29
58
654
115,220
Idk why people keep binding keyboard shortcuts just to open Mac apps. You know you can just... rename the app right? 💡
52
7
678
201,242
I swear homebrew is 1% installing packages and 99% updating homebrew
29
31
612
44,133
Hot take: if you feel like you have to watch something on 2x to not waste your time… it’s probably junk. Find things that are worth the 1x
100
22
618
59,481
Absolutely LOVE how Tailwind v4 is looking. Best part: CSS variables as themes. No more JS string nonsense, reference any token from plain CSS 😍
17
32
643
57,943
Your Tailwind transitions could be better 🙄
11
57
619
52,471
Okay I tried Theo's picthing. How. How is it this good? You don't know how hard it is to get a clean bg removal without artifacts. Cancelling RemoveBG asap 👀
21
11
616
166,384
I was a JavaScript head... now I'm a Go-pher. And it's because of Goroutines 🏆
15
29
625
30,296
Rebrand to Next.ts cowards
16
29
602
52,284
README for a C library 😅 Sending this to every UI designer
6
18
590
67,158
A hot take incoming: Hover 👏 navs 👏 are 👏 bad 👏 UX
42
23
593
60,155