I'm new to development and can't currently afford a hosted server. I want multiple users to interact with the same application—for example, posting messages that others can read later or playing a turn-based game together. Is there a way to support this without running a traditional online server, and what options should I consider?
5 Answers
For a turn-based game, a free service tier may be the simplest approach. A hosted database with real-time subscriptions can store each player's move and notify the other players immediately. Serverless functions or room-based serverless features can handle the game logic. You aren't managing a traditional server, although the application still relies on a provider's infrastructure and its usage limits.
If the users are friends or belong to a small trusted group, a private mesh VPN can connect their devices so one of them hosts the game or application. This avoids making the host directly accessible from the public internet, but everyone must install the VPN and the host still needs to remain online. For random users on the internet, a central backend or hosted database is usually unavoidable.
You can host the application on your own computer, but then it needs to stay powered on and have a reachable internet connection. You may need port forwarding, and some internet providers use carrier-grade NAT or block incoming ports. A secure tunnel or VPN can help, but exposing a home machine publicly requires careful firewall rules, updates, backups, and account security.
It depends on what you mean by “connected.” A message board, where users sync posts occasionally, is much easier than live chat, video calls, or a real-time game. For non-real-time apps, peer-to-peer or decentralized tools can let users keep local copies and synchronize data when they come online. The tradeoff is that users generally need to be online at the same time occasionally, and there may be no reliable central copy of the data.
Look at free tiers from serverless, database, and hosting providers before trying to build a fully peer-to-peer system. They can often support a small project at no cost, while giving you authentication, data storage, and a backend endpoint. Just check the limits, avoid putting secrets in browser code, and plan for what happens when the free quota is exceeded.

A message board or an online turn-based game would be enough for what I have in mind. It doesn't need to be a constant live connection.