Speed is the cheapest design upgrade there is and the one most small sites skip, because it is invisible when it works. It does not need a new framework. It needs four decisions.
Serve images at the size they are displayed
A photograph exported for print and scaled down in CSS is the most common reason a small site feels heavy on a phone. Export at the width it actually renders, use a modern format, and set width and height so the text does not jump around while the picture arrives.
Cut a font you are not using
Every typeface is a download before the first word can be read. Two families are plenty, one is often better, and a system font stack costs nothing at all. If a face is only used for headings, load only that weight.
Keep third-party scripts off the critical path
Analytics, chat widgets and consent banners all queue ahead of your content unless you make them wait. Load them after the page is usable, and question every one of them: a script that has never told you anything useful has been charging rent in milliseconds.
Make the layout predictable
- Reserve space for anything that loads late, so nothing shifts under a reader's thumb.
- Choose a fallback font that matches the real one closely, so the swap is not a layout change.
- Keep the first screen useful with images unsent and JavaScript blocked.
- Measure on a phone on a slow connection, not on the machine you build on.
Fast is a feeling
Nobody perceives a millisecond. People notice a page that is readable before they finish scrolling to it, and they notice the one that is not. Build for the second case and the numbers look after themselves.