Run your own birthday server

The whole app is open source (MIT): Hono + vanilla JS on Cloudflare Workers, Postgres via Hyperdrive (PlanetScale or bring your own), Cloudflare Email Sending.

Local in one command

git clone … birthdays && cd birthdays
npm install
npm run dev:core      # http://localhost:8787, demo login printed in the terminal

Production

  1. npm run keys and set the secrets
  2. Create a Hyperdrive config pointing at your Postgres, then npm run migrate:prod
  3. npm -w core run deploy, then open /setup with your SETUP_CODE

Your server speaks the Birthday Protocol (BDP), so people on different servers can link accounts.