When you make software for yourself, ‘reliable’ is usually good enough. If it breaks, you can fix it yourself. You can log in with SSH, read the logs, and restart it. You are your own support team.

But this server was not for me. I made it as a gift for an 80-year-old man. It holds his life lessons on a tablet in his living room. And one fact changes things: he cannot fix problems. Not because he isn’t smart. He is smart. But the moment a server in someone else’s home needs any technical help to keep running, it has already failed for a non-technical owner.

So ‘reliable’ was not the standard. The standard was ‘it must fix itself’. It had to survive failures that I could not be there to fix.

A small server in someone else’s home often has three problems. It loses power, the network changes, or the battery dies. An owner who cannot fix any of these needs a server that handles all three by itself. I will explain how I solved each problem.

Failure #1: It Loses Power → Auto-Restart on Boot

The most basic problem: The power flickers or the battery dies, and the tablet turns off. Later, when power returns, it turns on.

In most setups, it stays off. The device boots to the home screen, but the server does not run again because no one started it. For me, far away, it becomes a stopped service with no way to fix it.

The solution was to have the server start itself the moment the device turned on. I asked Claude Code to set up the server to auto-restart on every boot. Without anyone tapping, typing commands, or doing anything else. (On Android/Termux, a small boot add-on does this. You might have seen Termux:Boot in the app drawer picture from my setup post.)

Now, losing power is not a big problem. Even if the tablet turns off, once it recharges and turns on, the server runs again within a few minutes. The owner will not even know anything happened. This is the difference between ‘reliable’ and ‘self-healing’. The system does not avoid failures, but recovers by itself without your help.

Failure #2: The Network Changes → Reachable on Any Wi-Fi

There is a type of failure people forget about until a problem happens. A home server tied to one network stops working the moment that network changes.

Usually, connecting a home server to the internet means setting up that router. This needs port forwarding, maybe a static IP, dynamic DNS tricks, and so on. All of this ties it to one Wi-Fi network. If the device moves to a different house, or if the owner changes internet providers, it breaks. For a gift that can move and might last longer than an internet contract, this can happen at any time.

So I tested it honestly. I checked by connecting the tablet to a completely different Wi-Fi network. The result was what I hoped for. As long as the tablet was connected to any Wi-Fi, the service was reachable at the same web address. Which network did not matter. No router setup, no port forwarding, no static IP. Connect to Wi-Fi anywhere, and it works.

The reason is Cloudflare Tunnel. Instead of the outside world coming in to the tablet (which needs router setup), the tablet quietly goes out to Cloudflare and keeps a secure tunnel open. Visitors come in through Cloudflare and travel down that tunnel to the device. Because the connection goes outwards, the tablet does not care what network it is on. It does not matter if it is a cafe, home, or a relative’s house. It just needs a way to connect to the internet. (This tunnel is worth a full separate post, and I will do that later. The main point here is what this tunnel gives you: it does not rely on the local network.)

This is a big advantage for a server you give as a gift. The owner can move, change providers, or take the tablet to another city, and his address will never break. I do not need to step in. The thing that usually ties a home server to one place has simply gone away.

Failure #3: The Battery Wears Out → Protection Mode

The third, and slower, failure is the battery itself. The server is plugged into a charging cable all day, every day. A battery held at 100% for a long time can wear out faster.

I covered the solution in my setup post. It is to turn off power saving mode in the battery settings (because a server cannot save power), and turn on battery protection mode. This keeps the charge from staying at 100%, holding it in a healthy range (around 40-60% for me).

The Mindset: Plan for the Failures You Won’t Be There to Fix

Stepping back, there is an idea here that applies to anything you build for someone other than yourself.

If you are the user, you can rely on yourself to fix it. You will restart it, reconfigure it, and handle it carefully. But when you build for someone who cannot do these things, that reliance is gone. You have to think about all the ways the thing can fall over and ask, ‘Can it get back up by itself?’ Power loss → auto-restart. Network changes → tunnel out, not port in. Battery wear → protection mode. Each of these is a failure I solved on purpose. Because I knew I would not be there when problems happened.

And like the rest of this series, the division of labor was the same. I made the judgment. The judgment to know what could go wrong in an 80-year-old’s home. And AI did the building. I did not write the boot script. I knew it needed to survive power outages, and I told Claude Code to make it do that. It is the human’s job to know which failures to plan for. This comes from imagining the room where the server will actually sit, and the person who will never open a terminal.

In the end, this is why it became a true gift, not just a clever demo. I could hand it over, leave, and trust it would keep itself running.

If you build things for people who cannot do maintenance (family, older people, non-technical folks), please subscribe. Building for no maintenance is a skill in itself, and I am still learning.


Key Takeaways

  • Building for someone who cannot fix problems raises the standard from reliable to self-healing with no maintenance.
  • Power Loss: Make the server auto-restart on boot (e.g., Termux:Boot). This helps it recover from dead batteries or power outages without human help.
  • Network Changes: Cloudflare Tunnel makes the device reachable on any Wi-Fi. It connects outwards, so you do not need port forwarding or a static IP. Nothing breaks if the owner moves or changes ISPs.
  • Battery Wear: For a device running while plugged in, turn off power saving and turn on battery protection mode.
  • The Mindset: Look at every possible failure and ask, ‘Can it get back up by itself?’ You need to plan for things you cannot be there to fix.