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:
hugo-alexbakertech
→ Hugo source (private)alexbakertech.github.io
→ GitHub Pages deployment (public)
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.