Catalog ›Companies & 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.
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.
- Use it right away. Hit “Use this app”: it opens right in your browser, ready to go, with data saved only on your device.
- Your data stays yours. Everything is stored locally on your device, kept separate for each app: no account, no server, nothing to set up.
- Make it your own. The text below is the entire app: copy it, tweak fields, views and words, and your changes become interactive instantly.
- 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.