Shift coverage for certified teams
The group text is not
a scheduling system.
Staff post the shifts they can't work. Certified colleagues claim them. You approve. Nobody works a shift they aren't qualified for — the database won't allow it.
Free to start. No card, no install — it runs in a browser.
Awaiting your approval
Lifeguard
Sat, Sep 12 · 9:00 AM – 5:00 PM
Released by Jordan Lee
Alex Kim
Lifeguard · valid to Mar 2027
Sam Diaz
Lifeguard · valid to Aug 2027
Approving one automatically declines the other, and tells both people.
Riverside Aquatic
Alex Kim · Staff
OPEN SHIFTS YOU CAN CLAIM
Lifeguard
Sat, Sep 12 · 9AM – 5PM
Front desk
Sun, Sep 13 · 12 – 8PM
Right now, coverage lives in a text thread nobody is responsible for.
- You find out last
- The manager is usually not in the thread, and learns a shift was uncovered when nobody turns up.
- Nothing checks certifications
- Whoever answers first gets it. Whether their lifeguard cert lapsed in March is not something a group chat knows.
- There is no record
- Who agreed to what, and when, is buried in a scroll. There is nothing to point at afterwards.
How it works
Three steps, and one of them is yours.
01
Someone can't make it
They open their shift and tap Request coverage. It posts instantly — no asking permission, no waiting on anyone to read a text.
02
Only the qualified get asked
Everyone holding the right certification is notified. Nobody else sees it as claimable, because nobody else can legally work it.
03
You choose who covers it
Several people can put their hand up. You approve one; the rest are declined automatically and everybody is told where they stand.
The certification rule isn't a warning message.
Eligibility is enforced in the database, not in the page. An expired certification can't claim a shift that requires it — and expiry is checked against the day the shift runs, not today, so a cert lapsing next month doesn't block tomorrow's shift.
Every facility's data is walled off by row-level security. Staff see their own shifts and what's open. Managers see their own facility, and nothing else.
create policy claims_insert on claims
for insert to authenticated
with check (
claimant_user_id = current_app_user_id()
and user_is_eligible_for_shift(
current_app_user_id(), shift_id
)
);A hand-crafted request from an uncertified account is rejected by Postgres, not by JavaScript.
Built for the phone it will actually be used on.
Staff check shifts standing on a pool deck, not at a desk. Add it to the home screen and it opens fullscreen like any other app — no download, no store, no update to chase.
Set it up in about five minutes.
Create your facility, add your certifications, paste in this week's schedule. Invite your staff whenever you have their emails.
Set up your facility