Evolution of My Company Website: Embracing Simplicity

As a solo developer running my own company, I have an interesting tradition: every few years, I completely rewrite my company's website. This isn't just about keeping the content fresh—it's my playground for exploring new technologies and reflecting on what truly matters for a business website.

The Previous Stack: Next.js and Its Complexities

My previous iteration leveraged Next.js, complete with various server integrations. While Next.js is an incredible framework that solves many complex problems, I realized something important: I was using a sledgehammer to crack a nut.

The setup included:

  • Server-side rendering
  • API routes
  • Database integrations
  • Complex deployment configurations

All of this for what was essentially a simple company website. It was a classic case of over-engineering. And a good learning experience giving me good insights into Next.js.

Embracing Simplicity: The Current Approach

For this latest iteration, I decided to strip things back to basics. The current stack is refreshingly simple:

  • Plain React application
  • Nrwl NX monorepo structure
  • Static content with MDX
  • Minimal dependencies
  • Deployed with surge.sh
  • Deployed with Netlify

Read more about surge in the Deploying with Surge.sh: A Simple Static Site Solution blog post. TL;DR: Don't use surge.

Approach

Why This Matters

As a solo developer, every technology choice has outsized implications. Time spent maintaining complex infrastructure is time not spent on actual business value. The current setup might seem "basic" compared to the previous version, but it's exactly what I need and a good way to exploring new libraries and technologies.

Looking Forward

Moving forward, I have several exciting areas I want to explore and write about:

  • React 19's upcoming features and how they'll impact application development
  • My experience integrating and customizing Shadcn/ui components
  • Deep dives into Nrwl NX monorepo practices and patterns

These topics align perfectly with my journey of continuous learning while maintaining simplicity. I'm particularly excited about React 19's improvements to server components and concurrent features, even though I've chosen not to use them in this iteration of the site.

Disclaimer: This article was generated using AI as an experiment in content generation using a set of bullet points I proved. ¯\(ツ)