A beautiful, interactive weekly roster generator built with HTML, CSS, and JavaScript.
It automatically assigns shifts with rules, allows week-by-week navigation, and supports Excel export.
A friend once told me how her manager spends hours every week preparing the shift roster manually.
It wasnβt just a simple list β there were many rules to keep in mind:
- Only a limited number of people can take leave on the same day
- Departments canβt be understaffed
- Some employees prefer specific timings
Doing this by hand again and again was tiring, error-prone, and honestly unfair to her managerβs time.
Thatβs when I thought β why not create something small that can actually help?
A tool that looks modern, works quickly, and saves precious hours every week.
This project isnβt about fancy tech β itβs about solving a real problem with a simple, thoughtful solution.
If it makes someoneβs work-life easier, even a little, then the effort was completely worth it β€οΈ
- π² Auto-generate shifts with random weekly swaps
- ποΈ Tabbed weeks (navigate easily)
- π¨ Modern UI with gradients, badges, and hover effects
- π₯ Download schedule to Excel
- β‘ Lightweight β pure vanilla JS (no heavy frameworks)
π Live Demo: (https://weekly-shift-scheduler.vercel.app)
π¦ weekly-shift-scheduler
β£ π index.html # Main HTML
β£ π logic.js # Scheduling + Excel export
β£ π styles.css # Modern gradient styling
β£ π docs/ # Assets like screenshots
β£ π screenshot.png # Main App Screenshot
β£ π excel.png # Exported Excel Screenshot
β π README.md
- Clone the repository:
git clone https://github.com/yourusername/weekly-shift-scheduler.git
cd weekly-shift-scheduler- Open
index.htmlin your browser. Thatβs it β
Download visible week β©
Exports the currently visible week to Excel with styled formatting.
Supports:
- HTML β .xls export (preserves CSS look)
This project is licensed under the MIT License β see the LICENSE file for details.

