Week of July 13–20, 2025 – Patching, Patterns, and Pivots

Welcome to the first weekly roundup post on mikezupper.com. This will be a running series where I give an honest look at what I’ve been building, breaking, and thinking about each week. The goal here isn’t to document everything — just the meaningful progress, the problems I hit, and the paths I’m exploring.


🔧 Keeping the Machines Alive – Xode RPC and SPE Maintenance

Not the flashiest work this week, but essential: patching Arbitrum RPC servers, pruning node databases to free up disk space, and updating to the latest node software. This kind of thing is part of keeping Xode RPC running at a level that people expect — 24/7, hands-off, and damn near bulletproof.

Same goes for the Livepeer Cloud SPE gateway. Even when there are no flashy updates, maintenance still matters. That means staying current with Livepeer node software and making sure everything’s secure and responsive.

These are the kinds of tasks that, if you’re doing them right, no one notices. And that’s the point.


🎥 Real-Time AI Video and the Remote Worker Rethink

On the Livepeer side, there’s a new initiative around real-time AI video inference using remote workers — a big opportunity for orchestrators to earn ETH by running this stack. The project recently onboarded the top 100 orchestrators (I’m one of them), and I’ve started digging into how the software works.

Problem is, the reference setup assumes a single server, and I don’t run single-server infrastructure. I’m looking at how this can work in a distributed environment: orchestrator node, worker node, AI runner node — each with a clear role and ability to scale. Right now, that doesn’t “just work.”

So this week I started poking around the code and asking questions in the community. I’d like to eventually propose a multi-node architecture, but for now, I may pivot to trying a single-node version just to get my hands dirty. If that works out, I’ll likely rent a cloud VPS and evaluate whether it can generate enough ETH to cover its cost.

These kinds of initiatives are valuable not just for the potential income, but because Livepeer rewards active contributors. You show up, you ship, and over time the network recognizes that.


🎮 Ziply Games – Framework Frustration and Finding the Pattern

This week I spent most of my creative energy battling my own framework decisions.

I’ve been working on a browser-native framework to power Ziply Games — multiplayer games with zero installs, playable right from your browser. The games themselves are simple: think Tic-Tac-Toe, Rock Paper Scissors, Hangman. But the goal is to have them all share a common architecture that supports real-time updates, multiplayer logic, and local-first data.

Originally, I leaned heavily into browser events as the wiring layer — but quickly hit a wall. I found myself building what amounted to an enterprise service bus in the browser just to get components talking. It worked… until it didn’t. That complexity was a sign that the architecture wasn’t right for what I was trying to do.

So I’ve pivoted toward a mix of CQRS, event sourcing, and reactive streams — a combo that’s showing real promise. I now have working examples where the UI reacts to observable streams connected to an IndexedDB-backed state, with minimal boilerplate and great performance.

That said, it’s been frustrating. Every approach has trade-offs. I’ve been distracted building the framework instead of the games themselves — but I’m holding that line because I know if I build the games on a weak foundation, I’ll just end up rewriting them later. It’s a balance.

Let’s see how next week goes.


✍️ Blogging and What’s Next

This post kicks off a weekly series that I’ll quietly publish here for now. Once I’ve got a few posts under my belt, I’ll share it more publicly.

The long-term play is to grow an audience — not just traffic, but the right kind of people: developers who care about performance, simplicity, and the power of the browser. Folks who want to build fast, native-feeling web apps without a mountain of tooling.

Eventually, I’d like to offer courses and deep-dive content on everything from local-first web development to backend design with Rust. That’s down the road — but this blog is the start.


🚧 Future Topics (Potential Posts)

  • How to deploy Livepeer’s AI inference stack on a single-node VPS
  • Why I walked away from browser event buses and adopted CQRS + observables
  • What I learned building a multiplayer game system on web components and IndexedDB
  • Building a local-first UI framework: philosophy, implementation, and tradeoffs
  • Real-world RPC maintenance tips for Ethereum/Arbitrum operators
  • Lessons from trying to balance framework vs. product focus

That’s it for this week. If you made it this far, thanks for reading. If you’re working on something weird and hard, keep going. Nobody ships good stuff without some detours.

— Mike