Returning to the Fundamentals of Frontend: A Responsive Design Journey

Returning to the Fundamentals of Frontend: A Responsive Design Journey
Over the past few months, most of my focus had been on backend systems and infrastructure — integrating CMSs, managing deployment pipelines, and automating delivery to production.
But recently, I took a step back to work on something I hadn’t touched deeply for a while: the actual experience layer of the web — the frontend.
And honestly, it felt like returning to the fundamentals.
Building from the Ground Up: global.css and layout.tsx
Everything starts with a foundation.
In my case, that meant carefully defining global styling rules and the root layout of the application.
global.csshandles the global reset, color tokens, font stacks, and consistent box sizing.
Things like settingbox-sizing: border-boxand defining CSS variables for text and background colors form the backbone of a maintainable design system.layout.tsxthen takes that foundation and provides the structural skeleton for the entire app —
bringing together shared components like theHeader,Footer, and analytics snippets.
It’s the invisible glue that ensures every page behaves consistently across breakpoints and devices.
This base layer allowed me to think clearly about how each subcomponent — Hero, Sheet, Page — fits together without unexpected interference.
The Layered Composition: Hero, Sheet, and Page
To create a layout that looks natural and scales responsively, I followed a layered component strategy.
🪐 Hero: The visual identity
The Hero component sets the tone — it defines the visual "universe" of each page.
It’s intentionally kept full-width (w-full), with a flexible background that adapts to different device widths without clipping.
It’s also isolated from the rest of the layout to prevent inherited constraints from interfering with its positioning.
🧱 Sheet: The content container
If the Hero represents atmosphere, the Sheet is the solid ground where content lives.
Initially, it had a fixed width (width: 840px), which looked clean on desktop but broke on smaller screens.
After refining the CSS with responsive @media queries, the container now adjusts its width (90–96% depending on viewport) and padding dynamically,
maintaining visual balance across devices.
This simple change — allowing Sheet to breathe — unlocked proper responsiveness throughout the site.
📄 Page: The content logic
Finally, each page (like About or News) manages its own data logic and local styling via a corresponding page.module.css.
This separation ensures that global and layout-level decisions (spacing, typography, structure) remain untouched
while each page can fine-tune its content presentation.
Managing the “Worldview” of the Frontend
Unlike backend logic — where correctness and efficiency are everything — frontend development asks for something more subtle: the adjustment of perception.
It’s not just about writing functional CSS or React code.
It’s about continuously tweaking small visual details — padding, color balance, transition speed —
until the page feels right.
That process isn’t purely technical; it’s closer to shaping a worldview, one pixel at a time.
Key Takeaways
Here are a few practical lessons from this iteration:
- Don’t fight your layout — isolate it.
Components likeHeroandSheetshould not share layout responsibilities.
Give each layer clear ownership. - Design responsiveness from the container outward.
AdjustingSheet’s width and padding had far more impact than tweaking every nested element. - Keep
global.cssminimal but powerful.
Define consistent variables and typography rules once, and let components inherit them naturally. - Treat visual design as feedback, not decoration.
The best responsive design comes from observing how your content wants to flow — and then shaping the layout to respect that.
Closing Thoughts
Working on infrastructure taught me precision and scalability.
Working on frontend reminded me of sensitivity and rhythm —
how small adjustments create emotional resonance and coherence.
Getting back to these fundamentals felt like rediscovering the reason I started building websites in the first place:
not just to make them work, but to make them feel right.
