Good design isn't too hard. This is a guide on "good" design in my opinion, for the average person. It's not that deep; people who make it that deep are larping.
Following this guide won't result in cutting-edge unique design thinking, just reasonable defaults for the reasonable person.
Also, I'm not a designer. I train models, but like to think I have good design taste.
Basically this is a vanilla design guide and vanilla is great.
- Start without any animations, then add tasteful animations on specific interactions. A plain website with 0 hover, expand, or click animations is a pleasure to use. Overdo it and the slop-meter goes off. Ideas for animations: expand/close, scrollers, dropdowns, popovers, success/error indicators etc.
- No shadows, excessive borders, or extra chrome. Add chrome to things later on; use it to clarify separation and hierarchy. Too many borders and shadows make a UI stink. Using colors to accentuate links instead of underlines is a fun trick that makes things look cleaner without sacrificing on UX.
- Just use Inter. With 14px size and -0.15px spacing, it looks great on every device. You can use other fonts too; this is just the safest most vanilla default.
- Never scroll-jack.
- Don't use absurdly large heading/subheading font-sizes and font-weights. If you're going for a cleaner look keep font weights similar. I like to use the same font-weight for headings/subheadings and instead use coloring/opacity to denote hierarchy.
- Don't litter with color. Too much color turns a clean UI to garbage. If you're going for a clean vanilla look, keep coloring monochrome.
- Use the neutral off-white/off-black tailwind base colors. If you want something warmer, go stone, taupe, or olive. Be careful with colder colors.
- Break any above rule and do whatever you want. Vanilla isn't the best design for everything just a good default imo.