Dev log //HCAZ

Senior PHP developer based in Lincoln UK! Over 10 years experience creating bespoke software solutions. You can follow this blog with @hcaz@prra.xyz

Like many developers who have spent over 15 years working with PHP, I have watched the frontend landscape shift dramatically. There is always a new “must-use” framework, and lately, the static site generation (SSG) space has been dominated by JavaScript solutions like Astro, Next.js, or Gatsby.

For a long time, I felt the pressure to jump ship. If I wanted the speed and security of a static site, I assumed I had to write it in JavaScript. But when I actually sat down to build my latest project, I realized something important: I didn't want to learn a whole new ecosystem just to output HTML. I wanted to use the tools I have mastered over the last decade and a half.

That is when I found Jigsaw.

The Comfort of “Home”

As a Laravel developer, my brain is wired for Blade templating. It is efficient, expressive, and I know it inside out. Switching to a JS-based generator meant fighting against muscle memory. I would have to relearn how to loop through data, how to structure partials, and how to handle logic in the view layer.

Jigsaw changed that equation. It is a framework for building static sites using the exact same tools I use for complex web applications.

The biggest win for me was Blade. Being able to use Blade syntax for a static site felt like a cheat code. I could build layouts, components, and includes exactly how I would in a full Laravel app, but without the complexity of a full backend. I wasn't fighting the tool; I was just writing code.

Simplicity in Deployment

The other major appeal of going static is the deployment story.

When running a traditional PHP application, you have to worry about the overhead. You need to manage PHP-FPM, configure Nginx or Apache correctly, worry about database connections, and keep everything patched.

With a static site generated by Jigsaw, all that overhead vanishes. The build process runs locally, and the output is just simple HTML, CSS, and assets.

This makes hosting incredibly simple. I don't need a complex server stack. I can throw the files into an S3 bucket or serve them with Caddy. Caddy is particularly great here because it handles SSL automatically and serves static files with zero fuss. It is “set and forget” infrastructure, which is exactly what I need when I am juggling multiple projects.

Use What You Know

There is a tendency in our industry to chase the newest shiny object. While Astro and others are fantastic tools, they weren't the right tools for me.

Choosing Jigsaw wasn't about stubbornness. It was about pragmatism. By sticking to PHP and Blade, I removed the cognitive load of learning a new syntax and focused purely on shipping the content.

If you are a PHP veteran looking at the static site world and feeling out of place, look at Jigsaw. You don't have to leave your skills at the door to build modern, fast websites.

#gitea #git #selfhosted #devops #coding #php

For years, my code has lived on GitHub. It’s the industry standard for a reason: it’s robust, collaboration is seamless, and it’s the heart of the open-source community. For my public and professional work, it's indispensable. However, for my dozens of private projects, experiments, and snippets, I've always felt a slight disconnect. I was relying on a third-party service for code that is deeply personal or in its very early, chaotic stages.

The main issue wasn't trust, but sovereignty and simplicity. I wanted a space that was entirely my own, without the public-facing pressure or the feature bloat of a massive platform. I considered self-hosting a full GitLab instance, but much like my experience with Mastodon, it felt too resource-heavy for my needs. I just wanted a fast, private, and reliable Git server.

That’s when I turned to Gitea.

Gitea is a lightweight, open-source Git server that's incredibly easy to set up. It's a community fork of Gogs and is written in Go, which means it runs as a single binary and has remarkably low resource requirements. I was able to get it running in a Docker container on my own server in under 30 minutes.

The power of having a personal Gitea instance is threefold:

  • Total Privacy: All my code, commit history, and issues are on my own hardware. There's no question about data ownership or who might be scanning my repositories.

  • Blazing Speed: Pushing and pulling from a server on my local network (or a close-by cloud server) is noticeably faster than going through a major commercial service.

  • Simplicity & Control: The interface is clean and familiar, providing all the core features you’d expect (repos, pull requests, issue tracking, wikis) without the overwhelming complexity of larger platforms. It's everything you need and nothing you don't.

Setting up Gitea has given me the perfect private workspace. It complements my public work on GitHub while providing a secure, fast, and fully-owned home for all my personal development. For any developer who values data ownership and a streamlined workflow, it’s a self-hosting project I highly recommend.

#adventofcode #php #codingchallenge

Advent of Code is a yearly coding challenge hosted during December. I have taken part a few years and my solutions can be found at https://github.com/hcaz/advent-of-code or https://github.com/hcaz/advent-of-code

Cover Image