Offline-First or Die: Lessons from Global Gridlocks
Between Cuba’s grid collapse and trade wars, the lesson for us building in Nigeria is clear: your app better work when the lights go out and the ships stop moving.
My inverter started screaming at me around 3:00 AM last night. It’s that familiar, high-pitched "I’m tired" sound every dev in Gbagada knows too well. While I was struggling to save my local environment before everything went dark, I caught the news about Cuba’s power grid completely collapsing. They’re out of fuel, the provinces are dark, and protests are breaking out.
It hit me: we often think we’re special in our "Sapa" and infrastructure struggles, but the "No gree for anybody" mindset is becoming a global requirement for engineers. If you aren't building with the assumption that the infrastructure beneath you will fail, you aren't building for the real world.
Build for the "Dark Mode" (The Literal Kind)
When I see a country like Cuba plunged into total darkness, I don't think about the politics—I think about the state management. How many of the apps we’re building right now would be completely useless the moment a user loses a stable connection for more than six hours?
We’ve become too comfortable with high-speed fiber in our co-working spaces. But the minute you step out into a park in Owerri or try to use an app while traveling through the outskirts of Akure, the "loading" spinner becomes your worst enemy.
We need to stop treating offline-first as a "nice-to-have" feature. It’s the core experience. If your app can’t cache meaningful data, queue requests locally, and sync gracefully when the 4G (or the inverter) kicks back in, it’s just a fancy brick. My current project uses PouchDB for this exact reason—because I can’t trust the grid, and I shouldn’t expect my users to either.
The Hardware Headache
Then there’s this whole back-and-forth between Trump and Xi Jinping. They’re talking about "most consequential relations" and Taiwan, but all I hear is that my next MacBook or that shipment of Raspberry Pis for my hobby project is about to get 30% more expensive or stuck in a port for three months.
For those of us building hardware-integrated products or even just trying to maintain a fleet of servers, these "summit" talks aren't abstract. They dictate whether the small business owner in Onitsha can afford the POS terminal you’re trying to sell them. We have to start looking at more resilient supply chains. Can we source components that aren't caught in the crossfire? Or are we going to keep complaining about prices while the "big boys" play chess?
Predicting the Storm
California is bracing for a "monster" El Niño. Rain sounds nice when you’re dealing with 35-degree heat in Jos, but for a dev, extreme weather means one thing: service interruptions.
I’ve seen enough flooded roads and snapped fiber lines to know that "the cloud" is just someone else's computer that might be underwater. If you’re a technical founder in Nigeria, you need a disaster recovery plan that isn't just "hope for the best." Are your backups geo-redundant? If a major data center goes down because of a "monster" storm, does your platform stay up?
The Senate is voting to withhold their own pay during shutdowns—which is a funny bit of theater—but it reminds me of the importance of automated billing and payment logic. When things get chaotic, the last thing you want to be doing is manually chasing invoices or fixing broken payment gateways.
Keep Shipping
At the end of the day, the news is always going to be full of "monsters" and "collapses." My job is to make sure the code I pushed yesterday still runs today, regardless of who is meeting in a high-backed chair or why the fuel tankers haven't arrived.
Stay gritty. Optimize those battery cycles. And for heaven's sake, test your app on a 2G connection today just to see how much it hurts. That’s the only way we build things that actually last.
Related from Engineering
Let's build your next big product.
Accepting project-based freelance, remote engineering roles, and hybrid positions.