
FlowForge: The Factory Optimization Game FlowForge is an educational puzzle game that turns core industrial engineering concepts — flow direction, bottlenecks, conditional routing, and load balancing — into a hands-on, top-down factory building experience. Players act as a factory floor designer, placing conveyor belts, buffers, sorters, sensors, and weight stations on a grid to move packages from an input spawner to one or more output collectors. The game is structured as four progressive levels, each teaching one distinct concept: Straight Line Basics (flow fundamentals), The Bottleneck (throughput vs. capacity), Fragile Cargo (conditional routing with a Sorter component), and Peak Load Challenge (load balancing under a mid-level demand spike). Every level runs on a discrete tick-based simulation engine that spawns, moves, and tracks packages in real time, with live metrics for delivered, blocked, and throughput displayed directly in the HUD. After every run, players get a star rating (one to three) and a Results Modal with a full metrics breakdown. The standout feature is Bob the Foreman, an AI mentor character that generates a three-sentence coaching report grounded in the actual run's data: what happened, why it happened (tied to that level's core concept), and one concrete suggestion for the next attempt. A Hint system also lets players request smaller nudges mid-level without giving away the full solution. Unlike a static tutorial, FlowForge teaches by letting players fail, see exactly why, and immediately retry with a clearer mental model — turning abstract operations concepts into something players build and break with their own hands. ## Components - **Straight Belt** — moves packages in one direction, rotatable. - **Turn Belt** — redirects packages 90° counter-clockwise. - **Buffer** — holds up to 4 packages, releases one every 2 ticks. - **Sorter** — routes fragile packages to an alt exit, others go straight. - **Sensor** — counts packages crossing it. - **Weight Station** — flags and slows heavy packages by 2 ticks. - **Input Spawner / Output Collector** — fixed per level. ## Simulation Engine FlowForge runs on a discrete tick-based engine. Each tick, active spawners generate packages, and every live package advances one cell based on the component it occupies. Packages that can't move accumulate wait ticks and are marked blocked once a threshold is exceeded. Delivered, blocked, and broken packages are tracked as live metrics throughout the run. ## Bob the Foreman After every run, Bob the Foreman (the in-game AI mentor) generates a three-sentence coaching report grounded in that run's actual metrics — what happened, the root cause tied to the level's core concept, and a concrete suggestion for the next attempt. Press **Hint** during a level for a smaller, rotating nudge. ## Scoring Each level awards 1–3 stars based on delivery rate, blocked count, and tick efficiency. Best scores persist via local storage.
27 Sep 2026

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