CSS Modules Over Tailwind for a Solo Portfolio
Tailwind CSS has become the undisputed default recommendation in modern frontend web development. Its utility-first philosophy enables engineering teams to rapidly assemble interfaces without writing custom CSS classes or debating naming conventions. However, selecting a styling methodology should be guided by architectural requirements rather than current hype.
When designing this portfolio as an interactive design gallery featuring eight radically divergent visual aesthetics — from Cyberpunk neon grids and Neumorphic tactile surfaces to minimalist Brutalism and Terminal text layouts — Tailwind quickly became an impediment rather than an accelerator. Choosing CSS Modules provided the strict scoping, architectural isolation, and design flexibility that a multi-theme portfolio demands.
In a standard software application, a unified design system provides consistent button paddings, typography scales, and color tokens across all pages. In contrast, this portfolio intentionally showcases eight independent layout templates (`src/templates/`) that share common profile data (`src/data/portfolioData.tsx`) while presenting entirely incompatible design paradigms.