Panic Coding on My Phone in a Lightning Storm
The Setup
Remember my FPL MCP server? The one that was supposed to automate my terrible FPL career?
Well, it broke. The night before my holiday. At 11:47pm.
I had a 6am flight to Dubrovnik. I could have fixed it. Should have fixed it. But midnight was approaching, and I value sleep more than fantasy football points.
Narrator: This was a mistake.
The Realisation
Day five in Dubrovnik. Beautiful weather. Stunning views. Zero laptop.
We’re all sitting around the pool, casually chatting about FPL. “Oh, Palmer’s injured by the way.” “Yeah, who are you bringing in?” “Already transferred him out yesterday mate.”
Wait. Palmer? Injured? I definitely have Palmer.
Then it hit me like fine Croatian wine: I hadn’t received a single FPL email update all week. My AI agent was meant to handle this. My AI agent that I’d broken five days ago and forgotten about until precisely this moment.
Checks team
Palmer starting despite being injured
Longest Croatian stare into the void
The Problem
Here’s what I was working with:
- One Nothing Phone 3a (which I love, but it’s not exactly a development machine)
- No AWS credentials (they’re on my laptop)
- No SSH keys (also laptop)
- A Croatian thunderstorm approaching
- BBQ duties
- Palmer injured in my starting XI
The @claude Revelation
Then it hit me: GitHub has that @claude bot thing.
Could I… could I actually fix production code by messaging a bot on GitHub from my phone? While standing next to a BBQ? In a thunderstorm?
Only one way to find out.
The Fix (Sort Of)
Step 1: Bypass Everything
I couldn’t trigger my Lambda function without AWS credentials. But I COULD get Claude to modify my GitHub Actions to auto-deploy on PR merge.
“@claude, add a workflow that deploys to production when I merge to main”
Lightning flash in the distance
Step 2: Debug Blind
The function was timing out. Or was it? Without AWS logs, I was flying blind.
“@claude, make the Lambda return its logs in the response body”
Thunder rumbles
“Actually, just make it return EVERYTHING”
Step 3: The Bot Detection Saga
Turns out FPL was flagging my bot as… well, a bot. Fair enough.
“@claude, add proper headers to avoid bot detection”
Lightning strikes somewhere uncomfortably close
First attempt fails
“@claude, try harder with user-agent strings”
Thunder shakes the apartment
Second attempt fails
Rain starts absolutely hammering down
BBQ alarm goes off
“@claude, I’m standing in a Croatian thunderstorm trying to save my team from a Palmer blank, I’m begging you”
The heavens open
Step 4: Success (?)

It worked! Palmer was OUT! The transfer went through!

The Results

Palmer successfully transferred out. Crisis averted. But wait… notice something else?
Wissa is still there. WISSA IS STILL BLOODY THERE.
After all that panic, all that storm-dodging, all that mobile GitHub messaging… my AI kept the one player I desperately wanted out weeks ago.
Longest blank stare in Croatian history
The Plot Twist
Fast forward to September. Transfer deadline day.
Isak moves to Liverpool for £125 million. British record transfer.
Wissa? He goes to Newcastle for £55 million. As Isak’s replacement.
My AI kept Wissa. Wissa who’s now worth £55 million. Playing for a Newcastle side that just sold their star striker.

Was this 4D chess? Did Claude know something I didn’t? Or is my AI just really, really bad at Fantasy Football but accidentally brilliant?
I still don’t know.
Lessons Learned
The Surprisingly Good:
- @claude on GitHub is genuinely incredible for emergency fixes
- You CAN deploy to production from your phone
- Croatian thunderstorms add dramatic tension to debugging
The Predictably Bad:
- Fixing code without proper tools is like performing surgery with a spoon
- AI agents are great at following instructions, less great at understanding context
- Wissa will haunt me forever
The Real MVP
Honestly? @claude on GitHub. Being able to iterate on production code through GitHub comments from a mobile phone in a thunderstorm is not a joke.
Is it best practice? Absolutely not. Did it work? Technically yes. Would I do it again?
Checks team
Sees Wissa still there
Deep sigh
Probably.
The Conclusion
My FPL bot is now functioning. It makes transfers. It sends emails. And somehow, against all my explicit instructions, it kept Wissa.
Wissa, who I desperately wanted out. Wissa, who then got a £55 million move to Newcastle. Wissa, who’s now their star striker replacing a £125 million Isak.
Maybe Claude saw something I didn’t. Maybe it analyzed transfer rumors I never bothered reading. Maybe it’s actually brilliant.
Or maybe it just completely ignored my instructions and got lucky.
Either way, I learned that with enough determination, a GitHub account, and complete disregard for DevOps best practices, you can fix anything from anywhere. Even from your Nothing Phone. In a thunderstorm.
Even if you shouldn’t.
Especially if you shouldn’t.
P.S. - Claude clearly knows something I don’t. Or at least, I’m telling myself that. I do wonder why I appear to be losing though.