Morse Link
Chat over your local network, where every message is also played out loud as Morse code.

I built a messaging app for a local network where every message is played out loud as Morse code.
You open it, it finds other people on the same network, you pick one, they accept, and you type. Click a message and you hear it beeped out.
dotnet runWhy Morse
Because it is the oldest digital protocol there is and it still works.
Two states, on and off, and everything else is timing. No encoding table needed, no handshake, no shared software. If both ends know the timing, the message goes through.
I wanted to build something where that was the actual transport and not a decoration.
The timing is the protocol
There is nothing to Morse except duration. A dot and a dash are the same sound at different lengths, and the silences carry as much information as the beeps.
dot 100ms
dash 300ms
gap between symbols 100ms
gap between letters 300ms
gap between words 700msAt 800 Hz, because that is the pitch that cuts through room noise without being unpleasant to sit next to.
Get those numbers wrong and it is not slightly off. It is a different message.
Finding each other
No accounts, no server you sign into. You get a four-digit code when you join, you re-register every ten seconds, and everyone scans for peers every two.
Click someone, they get a prompt, they accept or they do not. Close the tab and you unregister yourself.
Messages go over WebSocket as JSON, carrying both the text and the Morse.
{
"type": "SEND_TEXT",
"text": "hello",
"morse": ".... . .-.. .-.. ---",
"username": "alice",
"code": "1234"
}What V1 does not do
Text only. One connection at a time. No history, nothing saved. Local network only. No authentication and no encryption.
The four-digit codes are also not something a person wants to read out loud, which is the sort of thing you only notice after building it.
tl;dr
Type a message, hear it as Morse, send it to someone on the same network.