r/i2p • u/Fragrant_Rate_2583 • Sep 02 '26
Help A lightweight, serverless P2P communication app
I’m working on an idea for a communication app that is intentionally very different from Discord, Messenger, etc. The goal is a very lightweight P2P app with no accounts, usernames, permanent rooms, chat history, databases, or cloud infrastructure. Text would come first, with voice potentially added later. Ideally, the app would keep almost everything in RAM and disappear when the session ends.
The interesting part is connecting two people without a middleman. For example, Alice opens the app and generates a temporary connection invitation, then sends it to Bob through whatever external channel they already use, such as WhatsApp, Signal, Messenger, or email. The connection information would not be sent as plain text, but the cryptographic side is a separate topic. What I’m trying to understand first is: **what is the minimum information actually needed for Bob’s computer to establish a direct connection to Alice’s computer?** Is it simply an IP, port, protocol, etc., or does it depend on the network situation?
The main reason I want to avoid a middleman is that I don’t want the communication to depend on infrastructure controlled by the app developer. Ideally, after the initial exchange, it would simply be Alice’s computer ↔ Bob’s computer, with no server carrying their messages or storing anything. I know NATs, firewalls, private IPs, and other networking issues make this difficult, so I’m interested in understanding where truly serverless P2P works and where it becomes impossible without some intermediary.
**TL;DR:** I want to build an extremely lightweight, ephemeral P2P chat app with no accounts, history, or central servers. Users exchange temporary connection information through an external channel, then the two computers try to connect directly. I want to understand the networking required to make this work without a middleman.