morsemeplease

Pairs two strangers at random and lets them talk only in dits and dahs. Built for fun, then kept running because people used it, with a practice mode and short guided lessons for anyone who does not know Morse yet. React and Vite front end, Express, Socket.io and SQLite behind it, self-hosted on a home server in Berlin and reachable worldwide through a Cloudflare tunnel.

Why it exists

It began as a joke – a chat room whose only alphabet is dits and dahs – and then people kept using it, so it kept running. There is no account, no history and no one to talk to but whoever the server pairs you with.

How it is built

React and Vite on the front, Express and Socket.io behind it holding the pairing and the realtime channel. The key adapts to whoever is using it: it learns how long their dash is instead of holding everyone to textbook timing. It runs on a home server in Berlin, in Docker under k3s, and reaches the rest of the world through a Cloudflare tunnel – no hosting bill and no inbound port open to it.

Click or pinch to zoom, drag to move

Built with

  • React
  • Socket.io
  • Node
  • SQLite
  • Docker
  • k3s

Role Solo: front end, realtime server, self-hosted infrastructure

morsemeplease.com → ← All work