[root@adamjohnlea ~]# cat sysop.txt
SYSOP — SYSTEM OPERATOR ON DUTY
Name: Adam John Lea
Location: Nampa, Idaho
Status: ONLINE
Session uptime: Longer than expected.

I've been building things on the internet since before "building things on the internet" was a career path people planned for. Started with HTML you typed by hand, graduated to PHP you regretted by hand, and somewhere in between became the kind of person who has opinions about SQLite that he will share whether you asked or not.
The job title has never fit cleanly on a business card. Web developer, sometimes. Support lead, sometimes. The guy who figures it out, mostly. I work for Autotroph, parent company of CG Cookie and Superhive, four days a week, which gives me enough time to do good work and enough quiet to think about what comes next.
What comes next is a question I take seriously.
CURRENT PROCESSES RUNNING:
MORNING DIGEST — A PHP script that wakes up at 3am and does something I used to do manually. It checks local news feeds, pulls the National Weather Service API, checks Idaho road conditions, hits Ticketmaster for local events, formats all of it, and sends it to my inbox via iCloud SMTP.
By the time I wake up it is already there. Total cost to run: zero. All APIs are free tier or public. The scheduler is macOS launchd. No cloud, no subscription, no LLM deciding what the headlines meant. Just a script that fetches RSS and sends it. The technology for this has existed for 20 years.
MY MUSIC COLLECTION — I have a lot of records. Discogs is where I track them. Browsing Discogs to look at your own collection is slow, the interface is cluttered, and every page load is a round trip to their servers. So I built a local version. PHP 8.4, SQLite, Twig. It imports your entire Discogs collection, caches all the cover art, and serves a fast local UI with full-text search. Once it is synced, browsing is instant.
There is a barcode matcher that cross-references records against the Apple Music Developer API, and when a match exists, you get an embedded player right in the collection view. There is a Claude-powered recommendation layer that reads your collection stats and suggests records you do not own yet. It is genuinely useful in a way that most recommendation engines are not. At least for me.
The part I am most pleased with: a static site export that turns your entire collection into a standalone website with no server and no database. A version of it lives on the projects page here.
DEVCARDS — A GitHub stats trading card generator. Enter a username, get a card. Stars, followers, and top languages become a collectible with a rarity tier from Common to Legendary. The formula is arbitrary on purpose — stars plus followers times two. You can build a GitDex of every card you have generated, drag them around to reorder them, export as high-resolution PNG, or share to X. The whole thing is 100% vanilla HTML, CSS, and JavaScript. No framework, no build step, no npm. Most people get Common.
THIS BLOG — The one you're on. Runs on a custom CMS I wrote. Looks like a 1970s IBM terminal because I wanted it to. No apologies.
SYSTEM CONFIGURATION:
I reach for SQLite before I reach for anything else. Not because it's trendy. It isn't, especially, but because it fits the way I think about problems. Contained. Portable. Simple.
Same reason I build things instead of installing them. BeaconAudit, the CG Cookie Course Pathfinder, this CMS — none of them needed to exist. I built them anyway. There's something clarifying about a project that only has to satisfy you.
I write PHP that would make some people uncomfortable and I sleep fine afterward.
PERSONAL LOG:
I live in the Treasure Valley, Idaho. I drink good coffee when I can find it. The Flying M in Caldwell has amazing coffee and latte art worth photographing, which I did, which is now on this blog, which is fine because it's my blog. I work Monday through Thursday. Friday and the weekend is for coding experiments, longer thoughts, and occasionally not being at a computer.
My favorite local band is Whippin Shitties, who are defunct and were emo by at least one website's official classification. My favorite Whippin Shitties story is that an indie label passed on them over their name. That's the music industry for you.
I have been online long enough to have built things during every major shift in how the web works. I have opinions about most of them. I keep most of the opinions here now, which is better for everyone.
OPERATOR NOTES:
If something on this site is broken, let me know. If something I built broke something you are using, tell me. I take support seriously. I actually want to know what happened and I'll actually fix it.
If you want to talk shop, web stuff, music, SQLite maximalism, PHP that runs in production and doesn't apologize for it, whatever: the contact link is in the footer.
If you're here because of Whippin Shitties, welcome. You have excellent taste and I hope you're doing well.
END OF FILE
Press PF1 to return home