
Small business managers — at restaurants, clinics, repair shops, and retail stores — spend anywhere from 45 minutes to over an hour every single week building shift schedules manually. They do it in WhatsApp groups, physical notebooks, or spreadsheets, and the result is almost always the same: someone is double-booked, a Friday night shift is understaffed, or a worker's day-off request gets missed and turns into a conflict on the day itself. SHIFTIQ was built to solve exactly that. The application lets a manager register their workers, set each worker's weekly availability across Morning and Evening shifts, define minimum coverage requirements per day, and then with a single click generate a complete weekly schedule — automatically. The core of the application is a four-step AI agent pipeline. First, it reads all worker availability from the database. Second, it reads the manager's coverage requirements. Third, it runs conflict detection logic that flags UNDERSTAFFED slots (available workers below the required minimum), DOUBLE_BOOKED workers, and workers whose assigned hours would exceed their stated maximum. Finally, it passes all of that structured data to IBM Granite 13B Instruct, which produces a plain-English schedule assignment with natural-language reasoning for every conflict it resolved, a quality rating (Optimal / Acceptable / Understaffed), and 2–3 forward-looking recommendations. The entire application runs locally via docker-compose and requires zero external APIs beyond IBM watsonx.ai. All data is user-entered and stored in a local SQLite database. IBM Bob was used throughout the development process — from generating the initial project architecture and database schema, to writing the agent pipeline, to debugging the Flask routes and frontend JavaScript. The IBM Bob report documenting the full session is included in the repository. Stack: Python 3.11, Flask, SQLite, Chart.js, Docker, IBM watsonx.ai , IBM Granite 13B Instruct v2.
17 May 2026