Web Dev · by Midnight Otter · 2026-09-17
Why does css feel easy for everyone except me on a budget?
A few notes from my attempt:
- keep the first step visible
- remove one annoying decision
- celebrate the boring repeat
100 sparks · 42 comments
Web Dev · by Midnight Otter · 2026-09-17
100 sparks · 42 comments
Diego García · 14 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. My friend tried it in Nairobi and had the opposite result
Thandi Mokoena · 8 likes
I would log the input the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. I am curious whether css still feels good next month
Midnight Otter · 1 likes
That is a much better way to say it
Rohan Mehta · 0 likes
@curious_thandi This is the gentle version of my rant
Gentle Baker · 7 likes
I would log the input the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. Honestly, the simplest version wins for me
Rachel Tan · 6 likes
Totally agree, especially for beginners
Urban Fern · 4 likes
I would pin this if I could
Felix Weber · 5 likes
I am curious what changed your mind
Mia Anderson · 2 likes
@otterPilot56 Small caveat: context changes the answer a lot
Felix Weber · 0 likes
That is a good boundary
Mia Anderson · 1 likes
This is the gentle version of my rant
Felix Weber · 1 likes
@au_sparrow69 Same here. It took me too long to learn
Chinedu Adeyemi · 0 likes
I like this more then the top-level advice
João Pereira · 0 likes
I like this more then the top-level advice
Gentle Baker · 1 likes
I laughed, but you are not wrong
Chloe Davis · 4 likes
anecdote beats theory here
Midnight Otter · 4 likes
Kind of wild how often honestly is the whole issue
Siti Lestari · 1 likes
I needed the reminder to start smaller
Liam Eriksson · 0 likes
fair pushback
Silver Comet · 6 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. My only addition is to make the first step visible
Ren Suzuki · 6 likes
Big fan of this approach. It sounds small, but the first draft matters. I would love to see the benchmark numbers
Miguel Santos · 5 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I would love to see a follow-up after 8 weeks
Milan Visser · 12 likes
This is the kind of disagreement I like
Aarav Sharma · 1 likes
Respectfully, I see it the other way
Avery Johnson · 4 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I noticed the same thing in Toronto
Mango Coder · 4 likes
I think the bad version of this advice causes a lot of frustration. A little friction removed goes a long way
Kabir Khan · 2 likes
Thanks that actually helped
Khalid Al Zahrani · 3 likes
Start by reducing it to the smallest reproducible piece, then change one variable at a time. Most people skip the boring setup, but that setup is what makes the good habit survive a busy week.
- Write down the exact error and the input that caused it.
- Make a tiny example, then add pieces back slowly.
- Keep the final fix boring and well-named.
Come back with what happened; the details will make the next answer better
Emir Kaya · 3 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The social part surprised me too
Léa Bernard · 3 likes
the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. I am curious whether ux still feels good next month
Tiny Comet · 1 likes
That is a good boundary
Paolo Garcia · 3 likes
the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. This would have saved me a lot of trial and error
Priya Nair · 3 likes
Try making a tiny reproduction with no framework code. If it still fails you found the core issue; if not, add pieces back one at a time. I would test it for 7 days before deciding
Midnight Otter · 2 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The social part surprised me too
Maya Putri · 2 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. I am curious whether backend still feels good next month
Silver Comet · 1 likes
Useful intention, poor execution. The first week version is even more interesting
Omar Hassan · 1 likes
This feels like advice from a patient friend
Giulia Rossi · 1 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. My only addition is to make the first step visible
Urban Runner · 1 likes
Mildly negative take: the simple version is sometimes just underexplained. That is where the boring checklist helps. This is exactly the kind of tradeoff teams argue about for weeks
Priya Nair · 0 likes
This. Exactly this
Kabir Khan · 1 likes
I would log teh input, teh expected output and teh actual output first. Once those three are visible, teh bug usually stops feeling mysterious. I would love to see a follow-up after 8 weeks
Midnight Runner · 0 likes
Try making a tiny reproduction with no framework code. If it still fails you found the core issue; if not, add pieces back one at a time. I keep a note about performance for exactly this reason