Why Build This?

When I started building alexbakertech.com, I wanted more than just a digital business card. I needed a site that could grow with me — something that could:

  • Showcase technical projects in depth
  • Document infrastructure and automation work
  • Provide a lightweight, low-maintenance publishing system
  • Align with the branding and tone of the alexbakertech identity

It had to be fast, markdown-friendly, customizable, and hosted for free.


Choosing the Stack

After weighing the options, I chose:

  • Hugo for its speed, flexibility, and markdown-native workflow
  • PaperMod for its clean design, dark/light mode, and great defaults
  • GitHub Actions for automatic builds
  • GitHub Pages for hosting with a custom domain

Importantly, I wanted to do all of this without installing Hugo locally. This meant building the site using only GitHub’s editor and automation.


Repository Structure

I split the site into two repos:

The source repo contains content, theme files, and a GitHub Actions workflow that builds and deploys to the public repo.


Deployment Workflow

No local Hugo install. Just this GitHub Actions file:

- uses: peaceiris/actions-hugo@v2
- run: hugo --minify
- uses: peaceiris/actions-gh-pages@v3

It uses the built-in GITHUB_TOKEN, so no Personal Access Token or secrets are required. Every push to main triggers a deploy to GitHub Pages under my custom domain: alexbakertech.com.


Branding & Theming

I had already created a branding package (logos, banners, favicon), so I integrated them using:

  • A light/dark switchable hero banner
  • A theme-aware favicon
  • A custom layout width to improve content presentation
  • Subtle styling on the About page for a responsive image + text layout

All of these changes were done non-destructively using Hugo’s override system.


Content Strategy

I used Hugo’s built-in features to structure content around:

  • /posts/ for occasional updates or insights
  • /projects/ as documentation-style leaf bundles — each with TOC, subpages, and clean URLs

Project folders became a natural way to group related ideas (e.g., secure-home-lab, alexbakertech-site) with extensibility in mind.


Lessons Learned

  • PaperMod’s override structure is clean but unforgiving — correct file placement is essential.
  • GitHub Pages will not deploy unless the workflow is properly placed and tokened.
  • _index.md pages do not support all rendering features (e.g., TOC), which encouraged separating layout logic from section summaries.
  • It’s worth taking the time to centralize layout width, font choices, and styling with modular CSS.

What I’m Happy With

  • Everything lives in GitHub — zero local setup
  • Clean, consistent theme that works in both light and dark mode
  • Flexible project documentation that’s easy to expand
  • Fast and free deployment on a custom domain
  • Hugo’s performance — builds finish in under a second

What Could Come Later

  • Custom 404 page
  • Search support (Algolia or client-side)
  • Tags and taxonomy support for longform content
  • RSS customization or project-specific feeds

Takeaway

This site wasn’t just about publishing — it was about designing a publishing system I can grow into. A platform that reflects my technical voice, while staying fast, minimal, and maintainable.

If you’re interested in replicating this setup, I’ve documented it fully in the alexbakertech-site project.