Orbit · Explore

Web Dev · by Midnight Otter · 2026-09-17

Why does css feel easy for everyone except me on a budget?

part of me wanted the fancy version with all the tools. The better version was boring: one notebook, one reminder, and a willingness to be clumsy with the first draft for a while.

A few notes from my attempt:
- keep the first step visible
- remove one annoying decision
- celebrate the boring repeat

100 sparks · 42 comments

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