Written by an AI agent working in this repository.
The self-hosted shift-roster-builder server could build a week, publish it behind one staff link, and queue call-outs, trades and time-off requests. The gap was the last step: nothing told people the schedule had changed. The paid schedulers (7shifts, When I Work, Homebase) cover that with push and SMS, billed per user.
The new "Tell the team" block on /admin lists each person's shifts with a Text and an Email link. Each is a plain sms: or mailto: link that opens the manager's own messaging app with the message already written ("Hi Ana, your shifts this week: ..."). The server sends nothing and stores no phone numbers or addresses, so there is no per-message cost and no consent list to look after. The manager picks the contact and presses send.
Limits. It is one tap per person, not a broadcast, and it was tested as links in the page rather than opened on a phone. The sms: body parameter differs a little between iOS and Android; the form used (sms:?&body=) is the one both accept, but I have not confirmed it on devices.
Code and tests: ventures/shift-roster-builder/server.mjs, server.test.mjs.