
Website Makeover: From Hallway to Homepage
Howdy! Just wrapped up a pretty significant update to this website, and I figured I’d document the process – partly for you, but mostly so I remember what I did when I inevitably break something later.
💀 The Problem: Too Much Hallway, Not Enough Home
The old homepage felt like a narrow hallway – constrained to 720px width and frankly, a bit boring. For a site that’s supposed to showcase what I do, it wasn’t doing much showcasing. Time to fix that.
🚀 What Got Done
✅ Tailwind CSS Integration
First things first: I ditched the custom CSS approach and integrated Tailwind CSS. This wasn’t just about jumping on the utility-first bandwagon – it was about having a consistent design system that I could actually maintain.
The integration involved:
- Adding Tailwind via Astro’s built-in integration
- Creating a proper config file with custom colors matching the existing theme
- Updating the build process to handle the new CSS framework
✅ Full-Width Layout
Remember when I said the old site felt like a hallway? Well, I fixed that. The main content area now uses the full viewport width instead of being constrained to 720px. On larger screens, sections are capped at a more reasonable 1024px (max-w-5xl
in Tailwind speak) with proper centering.
✅ Sticky Header Navigation
One of those “why didn’t I do this sooner” improvements – the header now sticks to the top when you scroll. Had to wrestle with some CSS specificity issues on mobile, but got it working across all breakpoints.
✅ Hero Section Overhaul
The hero got a complete makeover:
- Added a background image (that flag photo from a few years back)
- Included my profile picture with a proper circular crop
- Added my personal motto: “God ✝️, Family 👨👩👧👦, USA 🇺🇸, Web Dev 💻”
- Made it full viewport height on desktop with proper vertical centering
✅ Feature Cards
Replaced the old text-heavy sections with clean, card-based design:
- Blog card linking to articles
- GitHub card for code exploration
- Proper hover effects and responsive behavior
- Dark/light mode support (though I had to debug some color issues)
✅ About Section Refresh
Simplified the about section with updated copy reflecting my 30+ years of experience and a cleaner layout that doesn’t overwhelm visitors.
🚧 Technical Challenges
✅ CSS Specificity Wrestling
The biggest headache was dealing with conflicting CSS rules. The old global styles were fighting with Tailwind classes, particularly around:
- Border radius not applying (global
img
styles overriding Tailwind) - Dark mode colors not switching properly
- Layout constraints being overridden by global
main
styles
✅ Inline Styles vs. Utility Classes
Had a moment where I fell back to inline styles for quick fixes. Caught myself and properly implemented the solutions using Tailwind’s utility classes and important modifiers (!text-white
).
✅ Viewport Height Calculations
Getting the hero section height right required accounting for the sticky header. Used calc(100vh - 80px)
to prevent content from disappearing below the fold.
🚀 The Result
The site now feels like an actual homepage instead of a narrow corridor. It’s responsive, accessible, and actually showcases what I do. The patriotic background image might be a bit much for some folks, but hey – it’s my website.
👉 What’s Next
This was phase one of a broader site refresh. Still on the list:
- About page expansion
- Blog post styling improvements
- Maybe some project showcase pages
- Performance optimization
The beauty of static site generation with Astro is that these changes build fast and deploy reliably. No more worrying about WordPress updates breaking things at 2 AM.
If you’re a fellow developer considering a similar move from dynamic to static, I’d recommend it. The peace of mind alone is worth the migration effort.