Windows 95 Was Ugly. That Was the Feature, Not the Bug.

You remember it, even if you try not to. The chunky beveled buttons. The teal desktop. The gray-on-gray menus that looked like they were carved out of concrete. Windows 95 wasn’t pretty — and decades later, a CSS framework called 95CSS is dragging that aesthetic back into the light, prompting the question everyone’s thinking but nobody wants to ask: why does old UI look so damn bad now, and why does it still work better than half the stuff we ship today?

Here’s the uncomfortable truth that modern designers don’t want to hear. Windows 95 wasn’t ugly because the designers lacked taste. It was ugly because every pixel was a calculated response to a brutal constraint: 640×480 resolution, 256 colors, and a mouse that barely worked. Those thick 3D borders weren’t decoration — they were affordances. They told your eye exactly where to click, what was pressable, what was a window, what was a dialog. The bevels were a language. We threw that language away.

Then somewhere around 2013, flat design won. Skeuomorphism was declared dead in a keynote presentation, and overnight, every button became a ghost — a transparent rectangle with no border, no depth, no indication that it was even a button. We traded discoverability for minimalism. We traded clarity for aesthetics. Modern UI doesn’t tell you what to click — it hopes you’ll figure it out, and if you don’t, that’s apparently your problem.

The 95CSS framework is a sandbox that exposes this trade-off with surgical precision. When you build a form with those chunky borders and inset shadows, something strange happens: users don’t get lost. They don’t hover aimlessly looking for the submit button. They don’t tap the wrong element. The interface tells them, loudly and without apology, exactly what it is and what it does. It’s not elegant. It’s not subtle. It’s honest.

And that’s the bittersweet punchline here. The aesthetic that feels charmingly obsolete — the one that makes you smile with nostalgia and cringe with recognition — was actually optimized for something we’ve quietly stopped caring about: making things discoverable for people who don’t already know the interface. The 90s designed for the first-time user. The 2020s design for the screenshot.

95CSS isn’t going to replace Tailwind. It’s not going to show up in your next SaaS dashboard. But it should make you uncomfortable in a specific, productive way. It should make you look at your own interfaces and ask: did I remove that border because it improved usability, or because a design influencer told me borders weren’t cool anymore?

The best interfaces aren’t the ones that win awards. They’re the ones where a confused first-time user knows exactly what to do without reading a single line of documentation. Windows 95 did that with gray concrete and sheer brute force. We have infinitely better tools now. So why don’t our interfaces feel more usable?

Maybe ugly wasn’t the problem. Maybe we were.

FAQ

Q: Isn't Windows 95 UI just objectively worse by modern standards?

A: Worse aesthetically, sure. But those beveled borders and high-contrast elements were engineered for discoverability — users instantly knew what was clickable. Modern flat design routinely fails at that exact task. 'Objective' depends on what you're measuring.

Q: Should I actually use 95CSS in production?

A: Probably not as-is. But use it as a diagnostic. Build a prototype in it, then rebuild in your modern stack. If the modern version is harder to navigate, your 'improvements' were cosmetic, not functional.

Q: Are you seriously arguing we should go back to 90s design?

A: No — I'm arguing we should stop confusing 'modern' with 'better.' Flat design won because it photographed well in keynote slides, not because it outperformed skeuomorphism in usability tests. The 90s got something right that we forgot on purpose.

📎 Source: View Source