Joe Bell Profile Banner
Joe Bell Profile
Joe Bell

@joebell_

Followers
5,674
Following
572
Media
1,537
Statuses
16,085
Explore trending content on Musk Viewer
Pinned Tweet
@joebell_
Joe Bell
2 months
Brushed Buttons
12
3
146
@joebell_
Joe Bell
2 years
Tweet media one
54
454
5K
@joebell_
Joe Bell
3 years
why order imports alphabetically when you can order them a e s t h e t i c a l l y
Tweet media one
55
252
3K
@joebell_
Joe Bell
2 years
Why show your users a loading spinner when you can give them a “loading disco”?
51
137
2K
@joebell_
Joe Bell
1 month
I'd genuinely love to understand how people use Discord without feeling like they're in a constant state of sensory overload
122
118
2K
@joebell_
Joe Bell
2 years
I urge you to stop what you’re doing and feast your eyes on @simeydotme ’s mesmerising “Pokemon Cards” One of the most mind-blowing CSS effects I’ve ever seen Demo:
36
164
1K
@joebell_
Joe Bell
3 years
Using the Next.js <Image/> component? Don’t forget to make the most of the `onLoadingComplete` callback to add some delicious transitions ✨ e.g.
27
83
980
@joebell_
Joe Bell
2 years
Thrilled to share that I'll be joining the design team at @vercel next week ▲
65
18
982
@joebell_
Joe Bell
9 months
Playing around with @astrodotbuild 's experimental support for View Transitions – it's a thing of beauty ✨
27
83
910
@joebell_
Joe Bell
2 years
That awkward moment when you read a tweet bashing @tailwindcss and realise its your code
@razvancaliman
Razvan Caliman
2 years
This is astonishing! What series of events leads to such markup? Because CSS this is not.
Tweet media one
110
74
634
37
23
731
@joebell_
Joe Bell
5 months
Small life update: she said “yes”
Tweet media one
73
7
661
@joebell_
Joe Bell
9 months
Tweet media one
9
52
503
@joebell_
Joe Bell
2 years
Use TypeScript barrel files in @nextjs ? Reduce your bundle size with this one weird trick 💸
Tweet media one
19
60
491
@joebell_
Joe Bell
3 years
@ekiansyah @NoContextBrits funnily enough, I'm not a fan of this one
2
1
411
@joebell_
Joe Bell
3 years
Ever wondered if it was possible to create *pure CSS* blurred image placeholders? ✨ Introducing "Plaiceholder" 🖼 Transform your images into beautifully lightweight placeholders, with ease
7
45
366
@joebell_
Joe Bell
1 year
Spent the last few weekends giving a much-needed polish 🧼 Here's a thread of highlights…
Tweet media one
Tweet media two
17
7
328
@joebell_
Joe Bell
2 years
Today's whacky idea… What if UI Designers and UI Engineers spoke the same language? @Figma Auto Layout === <AutoLayout />
Tweet media one
24
13
313
@joebell_
Joe Bell
2 years
Here's a tiny collection of some of my favourite "date pickers" from across the web... 🧵
23
32
299
@joebell_
Joe Bell
1 year
Live Location 🌐
7
14
289
@joebell_
Joe Bell
1 year
Say hello to 🙋🏼‍♂️ The new and improved – long overdue – home for "Class Variance Authority" documentation Now with *real* working examples for @reactjs , @sveltejs , @vuejs , @tailwindcss and more…
25
28
276
@joebell_
Joe Bell
1 month
@ndrsn Disabling the majority of product’s features just to make it usable is so bizarre to me
16
0
264
@joebell_
Joe Bell
3 years
Introducing Plaiceholder 2.0 🖼 Create beautifully lightweight *pure CSS* blurred image placeholders, and more... Now with: 🔥 90% less CSS 🌐 Remote images 📏 Size customisation 🧹 New and improved API 🆕 A shiny new @tailwindcss JIT plugin
3
34
260
@joebell_
Joe Bell
11 months
me watching someone's html get publicly ridiculed on twitter for using @tailwindcss
Tweet media one
9
3
242
@joebell_
Joe Bell
2 years
I used @tailwindcss because I was able to build something that looks super slick super quick I didn’t build this to be read in “Inspect Element” lol
6
4
237
@joebell_
Joe Bell
2 years
Am I allowed to love @nextjs *and* @remix_run ? I’m just here for a good time
20
6
228
@joebell_
Joe Bell
4 years
Building a "Card"? Don't use a button/anchor to wrap content; a semantic and accessibility nightmare. "Break out" the interaction instead, as explained by @SaraSoueidan ¹ and @hankchizljaw ²: 1. 2. Seen on :
Tweet media one
8
28
228
@joebell_
Joe Bell
1 year
Personal update: next month I’ll be moving on from Vercel Grateful that I had the chance to work closely with such a lovely, wildly-talented set of people — I’ll miss you terribly Prioritising some downtime, then open to opportunities from mid-April ✌🏼
10
0
223
@joebell_
Joe Bell
9 months
After months of late nights, early mornings, weekends, flights, and train journeys... cva @1 .0 is now in beta
9
17
218
@joebell_
Joe Bell
3 months
<Card /> 🗂️
10
7
205
@joebell_
Joe Bell
2 months
<DataTable />
9
4
204
@joebell_
Joe Bell
2 months
<Pageviews /> (powered by @astrodotbuild DB)
12
11
201
@joebell_
Joe Bell
7 months
Friendly reminder that you can "block" some AIs from crawling your website content via `/robots.txt` (credit to )
Tweet media one
6
33
193
@joebell_
Joe Bell
1 year
Just shipped: v3.0🐟 After 1,060 days, ~1.9k stars, and a brief period as a small SaaS app; the project has finally reached the finish line It's been a wild ride
2
18
190
@joebell_
Joe Bell
3 years
I'm looking for my next role 👋 • UI / Front-end engineer with a soft spot for design systems + semantic HTML • Currently enjoying React.js via Next.js • Don't mind how you write CSS (as long as it’s consistent) I’d love to hear from you!
13
47
179
@joebell_
Joe Bell
3 years
I've been working a 4-day workweek – with no salary sacrifice – for over a month now and I already know I'm *never* going back 📈 Productivity up 📉 Stress level down
8
5
177
@joebell_
Joe Bell
2 years
For a while I’ve wanted to write a long tweet or blog post about the everlasting debate on “the right way to write CSS” Everything from CSS-in-JS to Tailwind… Honestly? Now I just think it’s all a huge waste of energy and I don’t really care anymore
19
3
175
@joebell_
Joe Bell
3 years
experiment: blurring low-res image placeholders to create a “glow”
6
7
178
@joebell_
Joe Bell
6 months
There are literally no downsides to crediting the people that inspired or contributed to your work
5
12
174
@joebell_
Joe Bell
3 years
You asked, I provided… Introducing "eslint-plugin-aesthetic" ✨
11
11
169
@joebell_
Joe Bell
3 years
Taskmaster got me through 2020
4
6
162
@joebell_
Joe Bell
2 years
Here’s what it renders… As for the source; it's using “cva” so it looks nothing like the output (see ) Anyway that’s not the point; the point is I really couldn’t care less because it’s my own damn website
@joebell_
Joe Bell
2 years
Why show your users a loading spinner when you can give them a “loading disco”?
51
137
2K
9
3
158
@joebell_
Joe Bell
1 year
Tweet media one
5
6
152
@joebell_
Joe Bell
3 months
Jamming with @alvishbaldha on form validation 💅🏼
6
5
155
@joebell_
Joe Bell
1 year
Re-introducing 👨🏼‍🚀 Built with @astrodotbuild , @tailwindcss and @vercel edge functions
17
7
153
@joebell_
Joe Bell
3 years
What if I told you that you could create a pure CSS LQIP on-demand by writing a @tailwindcss class? Say hello to Plaiceholder's Tailwind JIT plugin 🚀 Coming soon… Coming sooner if I get more "Pro" members...
Tweet media one
9
21
151
@joebell_
Joe Bell
2 years
I'm so socially awkward about working on my personal site in public (e.g. planes, trains or cafés) that I made an "awkward mode" to hide any content about me
11
1
148
@joebell_
Joe Bell
2 years
Introducing my newest open-source adventure… "cva" (class variance authority) ✨ Create type-safe variants for your components, without being tied to CSS-in-JS
12
17
146
@joebell_
Joe Bell
2 years
You know when you join a public WiFi and sometimes that pesky login page just never pops up? Well here's a little shortcut to force it open: (pro-tip: run via @raycastapp )
6
8
145
@joebell_
Joe Bell
1 year
me opening twitter to see what's new in the world, only to read the exact same @tailwindcss drama that's been regurgitated every other week for the last 5 years
Tweet media one
7
5
145
@joebell_
Joe Bell
3 years
@dabit3 The best developers I know have less than 200 followers and aren't active on Twitter
11
8
134
@joebell_
Joe Bell
3 years
Tweet media one
4
15
136
@joebell_
Joe Bell
3 years
Pro tip for @stitchesjs 🧠 Add a `motionSafe` breakpoint to avoid playing transitions/animations to users who've requested not to see them (borrowed this one from @tailwindcss )
Tweet media one
4
9
133
@joebell_
Joe Bell
3 years
Didn't really plan on sharing this publicly, but fuck it… Just finished my first month on antidepressants, and it's so nice to feel like myself/human again 💆🏼‍♂️ My only regret: not seeing a doctor sooner
8
1
129
@joebell_
Joe Bell
2 years
Just dropped plaiceholder v2.5.0 🚀 • Up to 30% smaller Base64 placeholders by default • Customize transparency, brightness, saturation and more… • More examples and refined docs and finally, a huge thanks to @vercel for sponsoring hosting 🖤
5
8
130
@joebell_
Joe Bell
2 years
Friendly reminder: "cva" isn't just for Tailwind Love CSS Modules, but want fully-typed variant props? Don't sweat it.
Tweet media one
12
11
124
@joebell_
Joe Bell
2 years
@AdamRackis “Ah shit, you got me! I went through your whole bullshit interview process — 7 tech tests, technical essay and 4 prior interviews — because I’m not interested in this position”
3
2
124
@joebell_
Joe Bell
2 years
contrary to popular belief, open-source maintainers don't consider your use-case or "blocker" more important than their personal lives
3
10
122
@joebell_
Joe Bell
2 years
Update! Now includes: • An open-source example • Some background on where the idea came from (which you can scroll straight past) Feel free to copy, remix, and improve to your heart's content ✌🏼
@joebell_
Joe Bell
2 years
Why show your users a loading spinner when you can give them a “loading disco”?
51
137
2K
5
6
122
@joebell_
Joe Bell
2 months
Absolutely bonkers stats for 📈
Tweet media one
Tweet media two
Tweet media three
8
1
120
@joebell_
Joe Bell
2 years
Life update: we're going nomad ✈️ First stop: Sri Lanka 🇱🇰 (April 11th) Next stop: No idea ❓ Signed up to @NomadList and I'm ready to gooo
11
0
105
@joebell_
Joe Bell
3 years
Personal update: today I started a contract role at @MonographHQ 🥳 Can't wait to go to work doing what I love most; building tasty UIs with @stitchesjs , @radix_ui and Next.js
10
8
103
@joebell_
Joe Bell
4 months
Clerk Design: Faro From Home
Tweet media one
5
5
101
@joebell_
Joe Bell
2 years
Today, I’m kicking off “Sketches”; a series of posts exploring polished interfaces Sketch №1: “Bias Lighting” Ambilight for the web
2
6
96
@joebell_
Joe Bell
2 years
Just shipped 🔟 Spent some of my downtime studying the legendary work of Dieter Rams, and his "Ten Principles of Good Design" really resonated with me So here's a super tiny site for future reference
5
10
98
@joebell_
Joe Bell
2 years
At the risk of sounding like a complete suck-up: Learning @nextjs genuinely changed my career for the better 📈 If you would've told me – a UI engineer – 3 years ago that I would build open-source Node.js packages, APIs and full-stack web apps, I would've laughed at you
8
1
98
@joebell_
Joe Bell
1 year
Today's the end on an era ▲ Heading offline for a long-overdue break
@joebell_
Joe Bell
1 year
Personal update: next month I’ll be moving on from Vercel Grateful that I had the chance to work closely with such a lovely, wildly-talented set of people — I’ll miss you terribly Prioritising some downtime, then open to opportunities from mid-April ✌🏼
10
0
223
4
0
97
@joebell_
Joe Bell
3 years
*I'm no longer looking for my next role 🙆🏼‍♂️
@joebell_
Joe Bell
3 years
I'm looking for my next role 👋 • UI / Front-end engineer with a soft spot for design systems + semantic HTML • Currently enjoying React.js via Next.js • Don't mind how you write CSS (as long as it’s consistent) I’d love to hear from you!
13
47
179
9
0
96
@joebell_
Joe Bell
3 years
Introducing "astley" A better way to build web applications ✨
12
13
96
@joebell_
Joe Bell
2 years
@razvancaliman Hey, I’m the author of this code 👋🏼 Feel free to check out the page for yourself: Some missing context: 1. It’s my personal site 2. It’s an isolated prototype with themes 3. Semantic, accessible + performant animations 4. source !== output
3
0
91
@joebell_
Joe Bell
3 years
Next.js just deprecated my `next-google-fonts` library (and I couldn't be happier!) Always bet on @vercel ⚡️
@timneutkens
Tim
3 years
Next.js 10.2 is out now! Super excited to roll out webpack 5 to a majority of Next.js users by default while keeping backwards compatibility for apps that did customization. This has been a multi-month effort in ensuring you can upgrade your Next.js app as smoothly as possible
11
47
392
4
2
90
@joebell_
Joe Bell
1 year
4 years ago today, I was in Tallinn finishing up a small consultancy gig and getting ready to head back to the U.K. I went on a Bumble date and life took a turn for the better 💙🖤🤍
Tweet media one
@joebell_
Joe Bell
2 years
3 years ago today, I was in Tallinn finishing up a small consultancy gig and getting ready to head back to the U.K. I went on a Bumble date and life took a turn for the better 💙🖤🤍
Tweet media one
0
0
26
5
0
90
@joebell_
Joe Bell
1 year
just hit 2000 stars ✨
Tweet media one
6
3
90
@joebell_
Joe Bell
1 year
@shadcn @eliotovele Probably a good time to say that v1 is currently in progress with some big features to come — stay tuned ✌🏼
3
7
89
@joebell_
Joe Bell
7 months
PSA: you can reduce the opacity of any color in CSS via the well-supported `color-mix()` function 🏁 Particularly handy for colors defined as custom properties
Tweet media one
3
6
85
@joebell_
Joe Bell
2 years
dream styling solution: type-safe css, written in .css css-in-ts-in-css?
17
2
83
@joebell_
Joe Bell
5 months
Confession: I’ve always been so paranoid about framer-motion’s bundlesize that I’ve never really considered using it I’m only now realising just how much fun I’ve been missing out on 🫣
14
0
80
@joebell_
Joe Bell
2 months
There's nothing more humbling than trying to style a `table` element
5
2
79
@joebell_
Joe Bell
3 years
It took 10+ years of coding for fun and work, but today the confidence finally hit me… I can build absolutely anything from absolutely nothing
5
0
81
@joebell_
Joe Bell
2 years
@dendekky @t3dotgg @tailwindcss I don’t think it’s fair to call them a troll for a different opinion! I’d just rather prioritise my development experience, semantic markup, and user experience, over their “inspect element” experience
3
0
78
@joebell_
Joe Bell
3 months
“any reason why there hasn’t been an update to in months?” the reason:
Tweet media one
Tweet media two
Tweet media three
Tweet media four
10
0
79
@joebell_
Joe Bell
2 years
☑️ Day 1
@joebell_
Joe Bell
2 years
Thrilled to share that I'll be joining the design team at @vercel next week ▲
65
18
982
7
1
76
@joebell_
Joe Bell
1 year
When dark mode is enabled, image brightness and saturation is reduced to avoid eyestrain
6
1
77
@joebell_
Joe Bell
2 years
@razvancaliman 5. It’s designed for the user, not your dev tools If anyone here feels angry about how my code output looks that’s totally fine, but I promise you it’s a waste of energy The right way of writing CSS is the one that brings the best out of you
4
0
77
@joebell_
Joe Bell
2 months
5 years ago today, I was in Tallinn finishing up a small consultancy gig and getting ready to head back to the U.K. I went on a Bumble date and life took a turn for the better 💙🖤🤍
Tweet media one
@joebell_
Joe Bell
1 year
4 years ago today, I was in Tallinn finishing up a small consultancy gig and getting ready to head back to the U.K. I went on a Bumble date and life took a turn for the better 💙🖤🤍
Tweet media one
5
0
90
3
0
78
@joebell_
Joe Bell
2 years
just hit 1000 stars on GitHub ✨
5
0
77
@joebell_
Joe Bell
3 years
Ever wondered how to auto-generate "themed variants" in @stitchesjs ? 👨🏼‍🎨 (sauce: )
Tweet media one
2
11
77
@joebell_
Joe Bell
4 years
📝 New post: “How to Shave a Yak” Getting distracted from my goals reinvigorated my personal life and my career in tech I poured my heart into this and I’d love to hear what you think
5
13
73
@joebell_
Joe Bell
7 months
"Generate a grid of dashed lines with 2 conic gradients" Absolutely mind-blowing technique by @ChallengesCSS
Tweet media one
1
7
72
@joebell_
Joe Bell
2 years
happy friday to everyone except the person who decided it should be… React.forwardRef<Ref, Props>((props, ref) => …) instead of… React.forwardRef<Props, Ref>((props, ref) => …)
5
3
71
@joebell_
Joe Bell
8 months
Recently spent some time experimenting with "Concealed Inputs"
6
1
72
@joebell_
Joe Bell
1 year
Shipped something pretty exciting at @vercel today 🥹
3
1
71
@joebell_
Joe Bell
3 years
Tweet media one
2
4
69
@joebell_
Joe Bell
4 years
Me in 2016: Why would anyone use CSS-in-JS? This is outrageous. Me in 2020: Why would anyone not use CSS-in-JS? This is outrageous.
4
11
65
@joebell_
Joe Bell
2 years
I *love* @vercel , but I'm wondering if it's time I gave @netlify another shot for my next project – I'm itching to give the new Edge Functions offering a spin with something like @remix_run / @eleven_ty
10
0
65
@joebell_
Joe Bell
3 months
This morning I filed my annual income tax return in Estonia, and thought it would be interesting to time the whole process from start to finish It took 37 seconds
10
0
65
@joebell_
Joe Bell
2 years
Here’s an ongoing thread of UI development content I revisit on a regular basis… 🎨
2
7
63
@joebell_
Joe Bell
3 years
Component Library Pro-tip 💡 Make the first story of a component in @storybookjs a "Kitchen Sink" of all possible variants + Quicker variant discovery + Easier development for component-wide changes + Easier debugging + Extremely aesthetic
Tweet media one
0
6
61
@joebell_
Joe Bell
9 months
Last night I spent a couple of hours moving to @astrodotbuild 's "Starlight" framework It was delightful 💆🏼‍♂️
5
4
61