CatalogCompanies & SMBs ›Operations

Simple Shift Planner — plan the week's shifts

For a small team that just needs to know who's working when, without tracking attendance, worked hours or payroll: add a shift with the employee, day and time and see it right away on the month's calendar. No setup, no account — the schedule stays saved on the device.

▶ Use this app

shift scheduleshift plannerweekly rosterwork hourssmall team

What it records

  • Employee
  • Shift start, e.g. 09:00
  • Shift end, e.g. 17:00
  • Notes (optional, e.g. location, time off)

How it works

This is a Reactive app: a plain text document that your browser turns into a working app — forms, live data, tables, statistics and even charts, with nothing to install or configure.

  1. Use it right away. Hit “Use this app”: it opens right in your browser, ready to go, with data saved only on your device.
  2. Your data stays yours. Everything is stored locally on your device, kept separate for each app: no account, no server, nothing to set up.
  3. Make it your own. The text below is the entire app: copy it, tweak fields, views and words, and your changes become interactive instantly.
  4. Share it as a file. An app is a simple file: save it, export it or share it with a link; and with encrypted collaboration several people edit the same data in real time.
The app’s source
# 🗓️ Simple Shift Planner

For a small team that just needs to know who's working when, without
tracking attendance, worked hours or payroll: add a shift with the
employee, day and time and see it right away on the month's calendar. No
setup, no account — the schedule stays saved on the device.

::::form{path="shifts" id="fsh"}
::input{form="fsh" field="employee" placeholder="Employee" required="true"}
::input{form="fsh" field="day" type="date" required="true" legend="Day"}
::input{form="fsh" field="start" placeholder="Shift start, e.g. 09:00" required="true"}
::input{form="fsh" field="end" placeholder="Shift end, e.g. 17:00" required="true"}
::input{form="fsh" field="notes" placeholder="Notes (optional, e.g. location, time off)"}
::add-form{form="fsh" path="shifts" label="Add shift"}
::::

## Month calendar

:::calendar{path="shifts" field="day"}
**{employee}** {start}-{end}
:::

## Shift list

:::sort{path="shifts" field="day" order="asc" as="table" headers="Day,Employee,Start,End,Notes" deletable="true" editform="fsh"}
{day} | {employee} | {start} | {end} | {notes}
:::

Built for cafés, shops, studios and small teams that just need to
communicate who's on shift and when, without the full complexity of a
proper attendance and hours-tracking system.