Skip to main content

Decisions

Decided​

#DecisionWhy
1PostgreSQL only, as in the Mail Service Spec; the earlier MongoDB + Cassandra + Neo4j design is droppedOne database is far less to run in seven days; the spec's tables already cover chats, threads and flags
2Domain phonemail.net: addresses are <10 digits>@phonemail.net, e.g. 9884690127@PhoneMail.NetThe product's own name; its own MX, SPF, DKIM and DMARC
3App at https://mail.phonemail.net/ (portal at /register/, api at /api/, webmail at /webmail/); phonemail.net is the welcome page and these docsVisitors to the welcome page and docs never compete with the app
4Runs on the Pi itself, not a laptop; staged on jaihat26topsRemoves laptop sleep, Tailscale and firewall dependencies; measured memory is ample
5Web client in React + Vite, built to static filesNo server process on the Pi; shares TypeScript and API types with other clients
6No phone calls anywhere: sign-up by SMS (JOIN), OTP by SMS onlyThe brief allows "call and press 1, or send an SMS"
7Native mobile apps: Swift (iOS) and Kotlin with the Android SDKFull access to SIM number detection and SMS Retriever; the Expo prototype is kept only as a reference
8Outside people get ordinary email, not chatThey keep their own mail program; PhoneMail users still see them as a chat
9Everything self-hosted: site, docs, app, mail and webmail on our own serverOnly the registrar and Twilio are third parties
10Passwords can be changed in the apps, the web client, webmail and by the administrator (mailuser passwd)One password works everywhere, including mail programs

Still open for Jai​

#QuestionRecommendation
AGroup creation. The brief: 2+ people in To create a group. The spec: an explicit Gcc step with a name.Keep the spec's API; clients create the group automatically (as the web client does now)
BReply once: once per person, or once in total?Once per person (as built)