CS 104 mindset Week 4

Functional Before Beautiful

As developers, we are drawn to polish.

A new component comes up and the first instinct is to make it look right.

The spacing, the animation, the color.

Meanwhile the data is not loading, the edge cases are unhandled, and the core interaction is broken.

Make it work first. Then make it beautiful. This is not a new idea. It is the most consistently ignored idea in frontend development.

Early Airbnb had basic listings, amateur photos, and a minimal interface.

It worked. It solved a real problem for real people. After they proved the concept they hired professional photographers, improved navigation, and built a design system that became one of the most recognisable on the internet.

The sequence matters. Polish that arrives before proof of concept is waste. Not because aesthetics do not matter — they do — but because you are polishing something that might not survive contact with users.

Get the thing in front of someone first. Let their feedback tell you what deserves polish.

This thinking applies to every layer of frontend work.

When building a new feature, start with the behaviour. Does the button do what it is supposed to do? Does the form submit correctly? Does the data display accurately?

Only after yes to all of those should you ask: does it look good?

When debugging, check the logic before you check the styles. A visually perfect component with broken logic is worse than an ugly one that works. Users forgive ugly. They do not forgive broken.

There is also a trap on the other end.

Some developers ship early and never come back to polish. The MVP becomes the permanent product. The rough edges stay rough indefinitely.

The goal is the full cycle. Make it work. Make it right. Make it good.

Each stage is real work. None of them can be permanently skipped.