Pinned Tweet
After a year of building, The Layout Maestro is officially live! đšđĽł
An interactive CSS course that teaches you how to think in CSS layouts. 70+ lessons, 7 layouts, 150+ interactive demos!
Ready to level up your layout skills? Enroll nowđ:
thelayoutmaestro.com
An interactive CSS course that teaches you how to think in CSS layouts. 70+ lessons, 7 layouts, 150+ interactive demos!
Ready to level up your layout skills? Enroll nowđ:
thelayoutmaestro.com
5
12
90
11,196
Ahmad Shadeed retweeted
My thoughts on the recent topic of design tools, human creativity and automating it all with agents
32
19
204
14,294
Ahmad Shadeed retweeted
âdesigning much faster than the othersâ â this so daft and makes it clear they donât understand design at all. âDesigning fastâ (or slow) is just not a thing. If you conflate âproducing ui by piecing together stuffâ and âdesignâ then the former (which is a form of assembly-line practice) can surely be fast or slow.
What makes the practice of design challenging is not how to put a ui or poster together, itâs what the pieces are, what the message is, what is being communicated, how it all works together.
So many of todayâs âdesignâ AI tools focus almost exclusively on the production part, on putting stuff together. Iâd love to see an AI design tool that forms a deep understanding of a problem over the course of days or months and works like a creative partner. Call me on my bullshit, thinks about the whole, isnât concerned really about the final arrangement of elements as much as it would understand the story and the message.
What makes the practice of design challenging is not how to put a ui or poster together, itâs what the pieces are, what the message is, what is being communicated, how it all works together.
So many of todayâs âdesignâ AI tools focus almost exclusively on the production part, on putting stuff together. Iâd love to see an AI design tool that forms a deep understanding of a problem over the course of days or months and works like a creative partner. Call me on my bullshit, thinks about the whole, isnât concerned really about the final arrangement of elements as much as it would understand the story and the message.
Revolut's designers are moving off Figma.
Storonsky spotted one team designing much faster than the others. What they did:
1. Gave an LLM Revolut's design system at the code level
2. Prompted it to build new flows on top of that system
3. Got a live interface they can click phone, instead of static frames
Result: 3-4x faster. Now he's pushing it to every designer at Revolut.
His job, as he describes it: find what works in one team and spread it across the company.
Full breakdown here:
productmarketfit.tech/p/revolut-playâŚ
107
194
1,697
111,529
Ahmad Shadeed retweeted
Customizable <select> isnât about prettier dropdowns. Itâs about what an option can say.
Quick demo for what we can achieve today and what it means for our users.
alfy.blog/2026/10/27/a-sâŚ
Quick demo for what we can achieve today and what it means for our users.
alfy.blog/2026/10/27/a-sâŚ
1
6
82
6,171
Ahmad Shadeed retweeted
struggle together
i learned programming and design by trying, failing, and trying again.
when i hit a wall, i figured out how to climb it. read something i barely understood. took things apart. asked someone for help. started over.
when i began my career, i kept doing things i had never done before. trying different ways to make something work. when i stopped learning, i moved on to the next struggle.
many things i made werenât very good. but after enough rounds, something stuck. what once took so much effort became part of how i thought. i could feel something was wrong before i knew how to explain it.
it became like water.
i think about what went into that. the bug i couldnât fix. the design that looked right until someone used it. the conversation that made me realize my flaws.
now we can ask a machine.
iâve made things with these tools that i might never have made otherwise. i donât miss every tedious task. but i wonder what happens when we remove the difficulty before we understand what it was teaching us.
we ask. something appears. it works well enough. we move on.
we learn how to get results without necessarily understanding how it works. and because the result looks complete, it becomes easy to miss the questions we never learned to ask.
there is another side to this.
working with people is uncomfortable.
everyone wants something different. everyone has a history you donât know. someone cares about a detail you think is unimportant. someone pushes back when you want to move. someone needs time when you feel certain.
it takes a while to find each other.
but sometimes, after struggling together, you become a band.
you know who notices what you miss. who can pull an idea apart without killing it. when to step in, when to slow down, when to let someone else carry the rhythm.
you share something unfinished. admit you donât know. hurt each other, apologize, try again. eventually you make something none of you could have made alone.
some of my closest friendships came from working this way. smart, caring humans who saw me confused, wrong, tired, excited. people i could be vulnerable with. people whose ideas changed mine.
i worry we are making it easier to avoid that beginning.
an agent is always there. patient. ready to keep going. talking to it can feel easier than reaching toward someone who might misunderstand you, disagree, or have somewhere else to be.
sometimes that ease helps. but if we keep choosing it, where do the friendships begin?
i picture each of us with our own agents. our own explanations. our own little worlds. making more things, with fewer reasons to leave the screen or work through a difference with another person.
and these worlds arenât entirely ours.
they run on machines in server farms, owned by companies, shaped by interests we may not see. we bring them our questions, our work, our loneliness. they become part of how we understand what is real.
is that freedom?
or a comfortable kind of confinement, where everything responds to us but fewer things reach us?
i donât think pain makes something good. there are struggles nobody should have to endure. but i donât want to lose the difficulty of learning something unfamiliar, or getting to know someone who isnât like me.
maybe we need tools that help us spend more time with the world, instead of giving us fewer reasons to enter it. tools that make it easier to find people, share something unfinished, and work through what we couldnât figure out alone.
sometimes i want to close the laptop.
sit with people i love. play something we havenât figured out yet. miss a note, lose the rhythm, listen until we find each other again.
like a jazz band. everyone bringing something different. nobody knowing where weâll end up.
i donât want a life without struggle. i want people to struggle with. something we can feel, change, and make our own.
music we couldnât have made alone, instead of the silent static of the server farm.
i learned programming and design by trying, failing, and trying again.
when i hit a wall, i figured out how to climb it. read something i barely understood. took things apart. asked someone for help. started over.
when i began my career, i kept doing things i had never done before. trying different ways to make something work. when i stopped learning, i moved on to the next struggle.
many things i made werenât very good. but after enough rounds, something stuck. what once took so much effort became part of how i thought. i could feel something was wrong before i knew how to explain it.
it became like water.
i think about what went into that. the bug i couldnât fix. the design that looked right until someone used it. the conversation that made me realize my flaws.
now we can ask a machine.
iâve made things with these tools that i might never have made otherwise. i donât miss every tedious task. but i wonder what happens when we remove the difficulty before we understand what it was teaching us.
we ask. something appears. it works well enough. we move on.
we learn how to get results without necessarily understanding how it works. and because the result looks complete, it becomes easy to miss the questions we never learned to ask.
there is another side to this.
working with people is uncomfortable.
everyone wants something different. everyone has a history you donât know. someone cares about a detail you think is unimportant. someone pushes back when you want to move. someone needs time when you feel certain.
it takes a while to find each other.
but sometimes, after struggling together, you become a band.
you know who notices what you miss. who can pull an idea apart without killing it. when to step in, when to slow down, when to let someone else carry the rhythm.
you share something unfinished. admit you donât know. hurt each other, apologize, try again. eventually you make something none of you could have made alone.
some of my closest friendships came from working this way. smart, caring humans who saw me confused, wrong, tired, excited. people i could be vulnerable with. people whose ideas changed mine.
i worry we are making it easier to avoid that beginning.
an agent is always there. patient. ready to keep going. talking to it can feel easier than reaching toward someone who might misunderstand you, disagree, or have somewhere else to be.
sometimes that ease helps. but if we keep choosing it, where do the friendships begin?
i picture each of us with our own agents. our own explanations. our own little worlds. making more things, with fewer reasons to leave the screen or work through a difference with another person.
and these worlds arenât entirely ours.
they run on machines in server farms, owned by companies, shaped by interests we may not see. we bring them our questions, our work, our loneliness. they become part of how we understand what is real.
is that freedom?
or a comfortable kind of confinement, where everything responds to us but fewer things reach us?
i donât think pain makes something good. there are struggles nobody should have to endure. but i donât want to lose the difficulty of learning something unfamiliar, or getting to know someone who isnât like me.
maybe we need tools that help us spend more time with the world, instead of giving us fewer reasons to enter it. tools that make it easier to find people, share something unfinished, and work through what we couldnât figure out alone.
sometimes i want to close the laptop.
sit with people i love. play something we havenât figured out yet. miss a note, lose the rhythm, listen until we find each other again.
like a jazz band. everyone bringing something different. nobody knowing where weâll end up.
i donât want a life without struggle. i want people to struggle with. something we can feel, change, and make our own.
music we couldnât have made alone, instead of the silent static of the server farm.
74
123
1,519
72,365
Alma (6yrs) saw "$19.35" on an Amazon toy page and asked why there is a dot. I opened Figma and typed 1, 1.5 and 2 to explain how fractions work.
After 15 secs of explaining, I paused and asked her: is it clear? She said: "just order it".
After 15 secs of explaining, I paused and asked her: is it clear? She said: "just order it".
5
0
26
5,284
Ahmad Shadeed retweeted
âď¸ New Article: Fit height to background pattern size with calc size()
I wrote about a use-case for calc-size() and round() that helped me avoid cut-off background patterns.
ishadeed.com/article/fit-heâŚ
I wrote about a use-case for calc-size() and round() that helped me avoid cut-off background patterns.
ishadeed.com/article/fit-heâŚ
1
7
29
1,655
âď¸ New Article: Fit height to background pattern size with calc size()
I wrote about a use-case for calc-size() and round() that helped me avoid cut-off background patterns.
ishadeed.com/article/fit-heâŚ
I wrote about a use-case for calc-size() and round() that helped me avoid cut-off background patterns.
ishadeed.com/article/fit-heâŚ
1
7
29
1,655
Love that (new?) detail in @ChromiumDev devtools. When using a max-content row/column in grid, it displays the computed size of it.
0
0
13
1,193
Working on an update for RTL styling guide and thought about using Linkedin in Arabic for a few days. The amount of confusing translations is insane, not to mention the years-standing RTL mistakes. Lots of work to do there.
1
0
5
1,211
100% this.
@emilkowalskia@potetoo âI ship a lotâ roots in my care for quality. Even before AI bots, software quality was generally bad, even from big companies with excellent designers and engineers, and now it seems to be even worse.
Many people who care about quality would say that you have to do a few things really well, rather than many things hastily.
Thatâs whereâfor me at leastâI have a knee-jerk reaction to âwe ship a lot, quicklyâ
I donât want to use software with 100 functions that all âmostly workâ, I want to use products that does a few things really well, crafted with care and intention.
0
0
4
1,164
Getting at least 5 spam emails daily on my @Fastmail account, their spam filter is so bad. I tried contacting support but their generic reply didn't help.
Is there a way to avoid that?
Is there a way to avoid that?
4
0
3
1,878
In case you missed it, I published a tool called Gradient Layers, which is simply a way to visualize multiple background images in CSS. Works well for mask-image, too.
Take a look đ lab.ishadeed.com/tools/gradientâŚ
Take a look đ lab.ishadeed.com/tools/gradientâŚ
2
2
21
1,408
Ahmad Shadeed retweeted
What do you want us to work on in 2027?
Here's a web app where you can rank the Interop proposals you care about, giving us data we can use to prioritise feature development.
interop-rank.fxdx.dev
Here's a web app where you can rank the Interop proposals you care about, giving us data we can use to prioritise feature development.
interop-rank.fxdx.dev
7
10
39
10,028
Seeing lots of boring games/websites nowadays with a "Made by [Model] [Version]".
What matters is the decisions you made, the details you cared about, the aha moments, not the model.
I miss the Bootstrap days; all websites looked the same, but you still had to use your brain.
What matters is the decisions you made, the details you cared about, the aha moments, not the model.
I miss the Bootstrap days; all websites looked the same, but you still had to use your brain.
1
0
8
951
Ahmad Shadeed retweeted
1. Oh shit, AI can do my job better than me
2. Software engineering is dead!
3. I can vibe code as much slop as I want!
4. Oh, things are not going well. Fable/Sol/Opus all suuuck
5. But what if I constrain the agent? Put it in a straitjacket?
6. Oh, the results are pretty good now. How do I go deeper?
7. *Orders 12 software engineering books from Amazon*
8. Software engineering is alive!
2. Software engineering is dead!
3. I can vibe code as much slop as I want!
4. Oh, things are not going well. Fable/Sol/Opus all suuuck
5. But what if I constrain the agent? Put it in a straitjacket?
6. Oh, the results are pretty good now. How do I go deeper?
7. *Orders 12 software engineering books from Amazon*
8. Software engineering is alive!
325
471
7,567
700,190
Ahmad Shadeed retweeted
Debugging multi-layer CSS gradients/masks in the DevTools is painful, so I built a tool to help me visualize each layer. It works for CSS art/drawings, too.
Check it out: lab.ishadeed.com/tools/gradientâŚ
Check it out: lab.ishadeed.com/tools/gradientâŚ
3
7
42
2,500
Debugging multi-layer CSS gradients/masks in the DevTools is painful, so I built a tool to help me visualize each layer. It works for CSS art/drawings, too.
Check it out: lab.ishadeed.com/tools/gradientâŚ
Check it out: lab.ishadeed.com/tools/gradientâŚ
3
7
42
2,500
Ahmad Shadeed retweeted
convergence to the mean
when everyone looks at everyone else to decide what to make, we eventually stop making anything of our own.
we copy what works. borrow the language, the aesthetic, the features. we call it learning from the market, following best practices, staying competitive. together, everything starts to feel familiar. polished, interchangeable. nothing wrong. nothing alive.
the mean isnât necessarily bad. itâs where everything lands when we remove the reasons for it to be different.
numbers are easier to compare than feelings, so we make things that produce numbers. we study what gets attention, then shape ourselves around it. eventually the feedback stops informing the work and starts authoring it. weâre no longer asking what we want to say. weâre asking what will be rewarded for saying.
ai makes this loop frictionless. it can draw from more references than we could see in a lifetime. but access to every perspective isnât the same as having one. it hasnât lived a particular life that makes one detail unbearable and another beautiful. when we ask it to choose for us without bringing any intention of our own, we get something plausible, easy to approve.
then we ship it, measure it, copy it, and feed it back into the next round. a tidal wave of mid.
this changes not just the work, but the people making it.
we describe ourselves in categories platforms can distribute and markets understand. designer. founder. creator. pick a niche. build a brand. be consistent. the parts that donât fit become inconvenient, even when those contradictions might produce our most interesting work. we become easier to classify and harder to tell apart.
i think we need to approach making things more like artists.
an artist develops a perspective through the work. making, noticing, choosing, failing, returning. learning what matters even when nobody else cares. craft gives that perspective a form precise enough for someone else to experience.
the life outside the work matters too. the places youâve lived, the people youâve loved, the things youâre embarrassed to care about. these arenât distractions from having something to say. theyâre how you come to have something to say.
we understand this with music, paintings, photographs, movies. we expect a person to be present in the choices. we want to experience something we wouldnât have encountered without them.
software can do this too.
a piece of software expresses beliefs about how life should feel. what deserves your attention. what you should be free to change. whether a task should feel like paperwork or play. even a small interaction can carry someoneâs care, humor, or curiosity.
but we rarely talk about software as a medium. we talk about it as an industry. markets to capture, workflows to optimize, competitors to catch up with. we add a feature because someone else has it, without asking whether it belongs. products accumulate the same parts and lose what made them worth choosing.
underneath the branding, itâs all the same thing.
artists learn from others too. the question is whether youâre absorbing those influences into a point of view, or using them to avoid developing one.
what are you trying to let someone feel, understand, or do? why this particular shape? what have you noticed that the existing tools donât seem to notice?
those questions donât have answers you can borrow from a competitorâs roadmap.
if we can make almost anything, deciding what deserves to exist becomes more important, not less. speed gives us more chances to exercise judgment. it doesnât remove the responsibility.
i donât want a world where every person becomes a more efficient distributor of the same ideas. i want people to use these tools to go further into what they actually care about. to make things specific enough that we can feel someone behind them.
what is the point of everyone being able to make something, if we all end up making the same thing?
when everyone looks at everyone else to decide what to make, we eventually stop making anything of our own.
we copy what works. borrow the language, the aesthetic, the features. we call it learning from the market, following best practices, staying competitive. together, everything starts to feel familiar. polished, interchangeable. nothing wrong. nothing alive.
the mean isnât necessarily bad. itâs where everything lands when we remove the reasons for it to be different.
numbers are easier to compare than feelings, so we make things that produce numbers. we study what gets attention, then shape ourselves around it. eventually the feedback stops informing the work and starts authoring it. weâre no longer asking what we want to say. weâre asking what will be rewarded for saying.
ai makes this loop frictionless. it can draw from more references than we could see in a lifetime. but access to every perspective isnât the same as having one. it hasnât lived a particular life that makes one detail unbearable and another beautiful. when we ask it to choose for us without bringing any intention of our own, we get something plausible, easy to approve.
then we ship it, measure it, copy it, and feed it back into the next round. a tidal wave of mid.
this changes not just the work, but the people making it.
we describe ourselves in categories platforms can distribute and markets understand. designer. founder. creator. pick a niche. build a brand. be consistent. the parts that donât fit become inconvenient, even when those contradictions might produce our most interesting work. we become easier to classify and harder to tell apart.
i think we need to approach making things more like artists.
an artist develops a perspective through the work. making, noticing, choosing, failing, returning. learning what matters even when nobody else cares. craft gives that perspective a form precise enough for someone else to experience.
the life outside the work matters too. the places youâve lived, the people youâve loved, the things youâre embarrassed to care about. these arenât distractions from having something to say. theyâre how you come to have something to say.
we understand this with music, paintings, photographs, movies. we expect a person to be present in the choices. we want to experience something we wouldnât have encountered without them.
software can do this too.
a piece of software expresses beliefs about how life should feel. what deserves your attention. what you should be free to change. whether a task should feel like paperwork or play. even a small interaction can carry someoneâs care, humor, or curiosity.
but we rarely talk about software as a medium. we talk about it as an industry. markets to capture, workflows to optimize, competitors to catch up with. we add a feature because someone else has it, without asking whether it belongs. products accumulate the same parts and lose what made them worth choosing.
underneath the branding, itâs all the same thing.
artists learn from others too. the question is whether youâre absorbing those influences into a point of view, or using them to avoid developing one.
what are you trying to let someone feel, understand, or do? why this particular shape? what have you noticed that the existing tools donât seem to notice?
those questions donât have answers you can borrow from a competitorâs roadmap.
if we can make almost anything, deciding what deserves to exist becomes more important, not less. speed gives us more chances to exercise judgment. it doesnât remove the responsibility.
i donât want a world where every person becomes a more efficient distributor of the same ideas. i want people to use these tools to go further into what they actually care about. to make things specific enough that we can feel someone behind them.
what is the point of everyone being able to make something, if we all end up making the same thing?
131
357
2,714
315,379










