A few weeks ago, I got laid off. Finding myself with ample free time, I decided to build a simple little blog site from scratch. Nothing fancy, just a place to record some thoughts and keep of a record of any personal projects I'm working on while figuring out the next step for my career. I was considering building something like this even before getting laid off, largely inspired by my friend's site nixon.computer, and once I found myself with plenty of spare time to work on a new project, I just went ahead and pulled the trigger.
The basic version of the project is here. This blog is just that repo with some additional CSS customization. It's just a few PHP files, some images and CSS, and a MYSQL database with one table for storing posts. There's some basic auth protections on the post creation page, but if you were really concerned about security you could always remove that page entirely and just insert your posts directly into the DB via command line. I'm using KnownHost for my webhosting, and also registered my domain through them.
One goal I had for this project was to avoid relying on any existing frameworks or projects, and to avoid the massive tangle of dependencies (and dependency management tools) that most modern web development relies so heavily on. I was ALMOST successful on this front - there was a single library PHP I had to use (phpdotenv) to handle environment variables in a way that's at least nominally secure. Theoretically I could've manually downloaded all the necessary dependencies and do all the proper "require_once" calls, but that felt like an annoying slog and so I opted to "cheat" on my original goal in this one instance.
A discovery I made while building this blog is that I really like writing code when it isn't for money. When I'm free to build things to my own specifications, and not worry about doing things at corporate scale for huge customers. A good example is performance - all the pagination for the blog posts in done client-side. The PHP is just doing a fetch for all the posts in the DB on page load and then paginating after the fact. Performance-wise that's a terrible idea if you're building something that's going to hold millions of records and be accessed by thousands and thousands of users every day. But a tiny personal blog, that will probably only ever have a few hundred records, accessed by people who would care about MY personal life? That performance concern is basically non-existent.
I did take the time for some basic security measures, but not to the degree I'd have to if I was storing any real personal or financial info here. It's freeing to make something that's mostly decent, for myself, that I can just tinker with every now and then if I feel like that. That probably sounds like a no-brainer, but I don't think I've sat down and just worked on a project like this in years, and it did kinda remind me that - shockingly! - I enjoy programming. I enjoy building things.
Anyway, hopefully that energy carries me through this job search - I'm incredibly lucky in that I already had a sizeable amount of savings AND I got a decent severance package (plus a stipend to cover COBRA) so I don't have to rush things. I've applied to a few jobs, but I'm only pursuing opportunities that are tied to my hobbies and interests, and only at companies that I would be EXCITED to work for, and not just any place looking for my skill set with an open position. Honestly, might even look into switching careers to something outside the tech world. Just keeping my options open at this point.
Cheers.