After 4 years of building applications and following excellent developers on Twitter, these are the principles I’ve developed. Studying open source projects taught me what actually works in production. I’ll add real examples as I collect them.
URLs should be beautiful and predictable
URLs should read like poetry - clean, intuitive, instantly understood. Use lowercase paths /products/reviews not /Products/Reviews.
When users see ?sort=asc, ?sort=desc should also exist.
You might not need SSR, SSG, PPR, ISR, WTF??
90% of the time a SPA with a backend server works like magic! All those fancy SSR SSG PPR buzzwords? Usually just overkill.
URLs should store states
Your app state should survive refreshes. Put filters, sorts, selections in the URL. Users love sharing links that actually work.
Instead of storing filter state in React state:
const [filter, setFilter] = useState("active");
Put it in the URL: /tasks?status=active&sort=date&page=2
Why? Page refresh gives same results. Users can bookmark specific views. Sharing /products?category=shoes&color=red&size=10 actually works. Back button navigates filter history. No “why did my filters reset?” rage.
Animations should be subtle, not loud
Animations should whisper, not scream. A 200ms opacity fade beats a 2-second bounce any day. Subtle transitions guide attention without hijacking it.
Flashy animations cause layout shifts and cognitive overload. Your spinning loading indicator isn’t impressing anyone - it’s just making users wait longer. Keep motion minimal, purposeful, and performance-conscious. The best animation is often no animation.