Fast and beautiful don't have to be opposites. Our design team shares the principles that guide every UI decision we make.
There's a persistent myth in software that you have to choose between a fast product and a beautiful one. We've spent three years proving that wrong.
Principle 1: Reach for the skeleton first
Every screen in PMT loads a skeleton state before real data. Not spinners — skeletons. The difference matters. Spinners signal "wait." Skeletons signal "here's what's coming." Users perceive skeleton-loaded interfaces as faster even when the actual load time is identical.
Principle 2: Motion with purpose only
We have a rule: no animation unless it communicates something. Hover effects communicate interactivity. Transition animations communicate spatial relationships. Loading animations communicate progress. Everything else is decoration — and decoration slows things down, both technically and cognitively.
Principle 3: Optimistic UI everywhere
When a user checks off a task, PMT marks it done immediately. If the API call fails, we revert and show an error. But 99.7% of the time it succeeds. Making users wait for a server round-trip to confirm a checkbox felt disrespectful of their time.
Principle 4: Information density is not clutter
Dense interfaces have a bad reputation because most dense interfaces are badly designed. We aim for dense-and-organised, not dense-and-chaotic. Every element earns its space. When it doesn't, it gets cut.
Speed and beauty are both downstream of the same thing: deep respect for the person using your product.