Eric

A Personal Server is All About Tradeoffs

Let’s say you have a cool idea, and all you need for it is to be able to enter information on your phone and do things with it later. It would probably be nice if when you upgrade phones you don’t lose everything, and maybe eventually you’d like to be able to allow a second person to use it, too.

Unfortunately, this probably means you need a “server”, which in this case means a program that is always running and can collect the data.

The first time you do this, it can be pretty frustrating and involve choosing among a lot of bad-seeming options. But, once you have a setup you like, it quickly becomes something you can take for granted that enables whole new types of projects.

Here are your main options:

For most people, I recommend the web app server running in your own home if ownership outweighs the security risks for you, “Serverless” if you just need a website with maybe a small database or similar data storage, and a Web app server running on external hosting otherwise.

And, if you really hate all of them, there’s a sub-option “Web app server running in your own home that is not accessible from the wider Internet,” which replaces the security vulnerability con with “connectivity issues are likely.”

Once you finally have your server worked out, you’ll probably notice pretty quickly that you want to have some sort of authentication or user account system, so that not just anybody can poke your server, and you can do things like identify users so you don’t conflate their actions. Unfortunately, login systems are an even bigger hassle.