Graham Cole
banner
grahamcoletech.bsky.social
Graham Cole
@grahamcoletech.bsky.social
Coder. Now building in public and documenting my rapid descent into madness.

📌 Warrington, UK.
I found a gap in my WebSocket setup: I can drop connections, but I didn’t have a clean timeout to limit free sessions. Cue hours of staring into space and muttering about events and triggers. Plan formed. #BuildInPublic
February 10, 2026 at 5:23 PM
I decided all dashboards and status pages in my app would live-update via WebSockets. Wow. That added a level of complexity I didn’t anticipate, but once done, the delivery architecture melts into the framework like Homer into a hedge. From there, you just follow the patterns. #BuildInPublic
February 9, 2026 at 10:46 AM
Real face reveal! Yes, that’s actually my face… though I make no such promises about the background.
February 3, 2026 at 8:57 AM
I’ve built my backend to be very resilient. Turns out that also makes it very good at politely hiding my own bugs. Everything works… but not always for the right reasons. I’m not sure whether I should be proud of myself, or report myself to HR. Please advise. #BuildInPublic
February 3, 2026 at 6:40 AM
Remember when AI-generated action figures were all the rage? I wasn’t keen on mine at the time, but looking at it now, I actually quite like it.
January 25, 2026 at 12:01 AM
I’ve been a bit quiet on Bluesky. Still coding though, mostly pushing PHP to its limits and trying to convince myself that “caching on SSD is basically shared memory.” It’s not fooling anyone. #BuildInPublic
January 6, 2026 at 2:29 PM
Today’s coding chaos is proudly sponsored by… me. I’ve moved from simple transactional PHP to long-running daemon services, and now I’m learning the fine art of keeping database connections alive and managing memory. The hard way. #BuildInPublic
December 3, 2025 at 11:41 PM
I’m testing alert delivery to different platforms, and honestly… webhooks are still awesome. Simple. Reliable. Effective.

#BuildInPublic
November 12, 2025 at 11:27 AM
I seem to remember making a big thing about building my next app properly, and not cutting corners. So I’m mapping entity life histories thoroughly with a CRUW matrix... Create, Read, Update… and Worry about it later. Perfect!

#BuildInPublic
October 24, 2025 at 6:43 PM
Up at 2am, couldn’t sleep. Two processes are deadlocking, so I’m at the laptop brokering a settlement. I’ll rest when they make up.

#BuildInPublic
October 22, 2025 at 1:56 AM
Out with jobs that clock in and out on a rota, and in with services that nap lightly with one eye open, waiting for a poke from the boss. Look at me, getting all 2025.

#BuildInPublic
October 20, 2025 at 12:32 AM
Last night’s 2am thought spiral: "When do the clocks go back?"... "Will that break my reports?"... "International users"... “Oh no… timezones!” Luckily, past me had just enough sense to keep everything together in a Time class. Fixed.

#BuildInPublic
October 13, 2025 at 4:31 PM
AI is incredible... but collaborate, don’t delegate. We’re still responsible for our own code.

[This post was reviewed and approved by ChatGPT!]

#Coding #Developer #WebDev #SoftwareEngineering #CodingLife
October 8, 2025 at 6:05 PM
Got myself into a chicken-and-egg situation. Don’t want to write code I’ll later scrap, but wasting time in thought paralysis is probably worse. Riiight! I’m going to throw stubs and drivers around like a toddler in a tantrum until the nature of the beast is revealed. Wish me luck!

#BuildInPublic
October 7, 2025 at 4:10 PM
I ran a soak test on my new WebSocket server. Well, you know, “left it running overnight.” This morning: “Database has gone away.” What? Gone away? I think it’s just too polite to tell me the awful truth. That’s fine... I’ll just imagine it’s living happily on a farm. #BuildInPublic
October 6, 2025 at 4:06 PM
WebSockets once felt like Hogwarts sorcery. Now they’re just how I keep dashboards fresh and live. #BuildInPublic
October 4, 2025 at 8:16 PM
I’ve done the unthinkable… and denormalised. No, not me, I was never normal, but my user roles. I hated the idea… then realised I love it more. Simpler, cleaner, saner. Good decision, we should never blindly implement a logical data model. #BuildInPublic
October 2, 2025 at 11:17 AM
I’ve been busy. From millions of domains, I’m filtering out the gloop, which should leave me with around 250-300k solid websites to build a performance baseline. #BuildInPublic
September 27, 2025 at 11:18 PM
I’m back using mind maps. I don’t need the collaborative functions of Trello right now... just a way to untangle my own thoughts. I use Freeplane. It feels a bit “Office 97” in look and feel, but it’s free and it gets the job done. 🧠 #BuildInPublic
September 20, 2025 at 8:37 PM
I’ve been thinking about KISS (keep it simple). As devs, we all know we should. We all tell others to. But do we practice it ourselves? Occasionally. Maybe. And honestly, a little leeway for the utterly bonkers... keeps it fun! 😉 #BuildInPublic
September 14, 2025 at 5:00 PM
My DMs are open… for the questions and follow-ups that don’t belong in public. Weirdly, I had to age-verify my account. I have no idea why, and maybe I don’t want to know. 🫣 #BuildInPublic
September 14, 2025 at 2:31 PM
✅ Email rules fixed. Super-weak passwords banned, strong ones encouraged. Medium strength? Your call! Turns out forcing upper, lower, numbers & symbols was overkill. #BuildInPublic
September 14, 2025 at 4:44 AM
Feedback says my password rules are “stupid.” Fair enough, harsh but fair. Challenge accepted, hoop reduction underway. #BuildInPublic
September 13, 2025 at 6:22 AM
I just dropped a sleep(200) into a controller today, just for LOLs. Try it yourself, but don’t blame me when you start questioning your life choices. #BuildInPublic
September 12, 2025 at 3:15 PM
Tickle transactions are here! Does your app have tickle time? Didn’t think so. #BuildInPublic
September 10, 2025 at 1:34 PM