Panic Coding on My Phone in a Lightning Storm

AI MCP FPL

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 (?)

Transfer Analysis

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

Urgent Action Taken

The Results

GW3 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.

Digital rain from The Matrix

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.