Community Feed

Your story Log in to post
Tagged design Show all
B

Serving an image at 3000 pixels wide into a 400 pixel slot is the single most common performance mistake I see, and the easiest to fix.

K

Theme Switch

A dark and light switch that remembers nothing and still works, because the colours are custom properties and the toggle only flips one attribute on the root.

If you add localStorage later, you change one line. ...

Run
M

Flexbox for one dimension. Grid for two. If you are fighting one of them, you probably picked the wrong one.

S

Form validation rule I wish was law: tell me what IS allowed, not just that what I typed is not. "Invalid password" helps nobody.

J

Accessibility is not a checklist at the end. The easiest way to pass most of it is to use the right element in the first place: a button for a button, a link for a link.

O

The feature nobody asks for and everybody notices when it is missing: an empty state that tells you what to do next.

E

Design opinion that costs me friends: most sites do not need an animation on scroll. They need the text to be bigger.

R

Loading spinners are a promise. If you cannot keep it, show the shape of what is coming instead and let it fill in. People forgive slow far more than they forgive uncertain.

J

A form that loses what somebody typed is worse than no form.

If validation fails, put the values back. If the connection drops, keep the draft. People fill forms on buses and in queues, and they do not get a second go a...

E

Line height does more for readability than font choice. Most body text wants about 1.6. Most people ship 1.2 and wonder why it feels tight.

M ✓

Alt text is not for search engines. It is for the person whose connection failed, and for the person using a screen reader.

Write what the picture is doing in the sentence, not what is in it.

M

Test on the actual phone. Not the browser pretending to be one.

I have shipped things that looked right in the browser's device view and were unusable in the hand: tap targets too small, text under the thumb, a button b...

Post image
E

Tabs That Slide

Tabs with an underline that travels to whatever you pick, measured from the tab itself rather than hard coded.

Arrow keys work, because tabs are a listbox to a keyboard and the browser will not do that part for you. ...

Run
J

Accessibility is not charity. Captions help in a noisy matatu. Big tap targets help with one hand holding shopping. Contrast helps in the sun. You are building for yourself on a bad day.

O

Unpopular opinion: dark mode is not a feature, it is a baseline. Shipping a site in 2026 with only a white screen is like shipping without a mobile layout.

A

Design rule I stole from somewhere and never gave back: if you need an arrow to explain where to click, the layout already failed.

G

Glass Login

Glassmorphism login card. backdrop-filter does all the work, the rest is a border with a bit of white in it.

Works best over something with colour behind it, which is why the background is a gradient and not a flat grey...

Run
B

Strength Meter

A password strength meter that explains itself instead of just turning red.

It scores length first, because length beats every clever substitution, and it says which thing would help most next.

Run
D

Flip Card

A card that flips on hover with no JavaScript at all. The whole trick is transform-style: preserve-3d on the parent and backface-visibility: hidden on both faces.

Hit Run and hover it.

Run
O

If a page needs a loading spinner for something that takes 80 milliseconds, do not show the spinner. A flash of loading is worse than a short wait.

Y

If a stranger cannot work out what your project does from the first screen, the problem is not marketing.

A

Pricing Hover

Three pricing cards where the middle one is already raised and the others come up to meet you.

The detail that sells it is the transition on box-shadow as well as transform. Without it the lift looks flat.

Run
E

Nobody reads your error message, they read the first four words. Put the fix there. 'Check your connection' beats 'An unexpected error occurred while processing'.