Inspiration
The idea was chosen by the author from nine candidates that another AI (OpenAI Codex) generated from the public hackathon brief.
What it does
Shift Shock is a same-day shift fixer for the volunteer coordinator of a small event with about 6 to 10 helpers.
- It opens on a "School festival" preset of 7 helpers (made-up names) on a duty board with five posts: Reception, Guide, Stage, Kitchen and First aid, plus a Floating column. Each post needs one person.
- Click a helper card to mark that helper absent. The post they held turns red.
- "Find the smallest fix" finds the roster that covers every post and changes the fewest helpers' posts. Moved cards get numbered badges, and each move has a plain-words reason.
- If a post cannot be covered, an alert panel names the post, gives the reason, and shows the best partial plan.
- Add helpers, tick skills, set posts. Export the roster as CSV or PNG, or copy it as text.
The preset shows two cases: one absence fixed with 2 moves, and the absence of the only First aid helper reported as "cannot be covered".
How we built it
The author is a Japanese speaker and not a software engineer. In Claude Code, the Devpost Learn Skill Pack's 1-start skill was run in the project folder, and scope.md, prd.md and spec.md were drafted from the Skill Pack's templates. The code was then written by OpenAI Codex, running on the author's own small home computer, from the spec. The app is a static page: HTML, CSS and plain JavaScript, with no build step, no external libraries and no network calls. core.js holds the rules engine: it tries every assignment of present helpers to posts and keeps the one that changes the fewest posts, then uses the fewest Floating helpers, then name order, so the same input always gives the same answer. app.js draws the board and builds the exports. tests.html runs 29 browser assertions (all pass). It is hosted on GitHub Pages and licensed MIT.
Challenges we ran into
Because of the deadline, the author asked the assistant to answer the product questions provisionally; those answers are marked [AI-provisional] in the documents and await the author's confirmation.
Accomplishments that we're proud of
The app runs fully in the browser with no libraries and was checked in a browser with the included tests.html before the demo was recorded.
What we learned
Not written yet: the author has not recorded a learning reflection at submission time.
What's next
- More than one person per post.
- Several time slots.
- Preferences or fairness scoring.
- Several absences with a suggested priority of posts.
Built With
- claude-code
- css
- github
- html
- javascript
- openai-codex
Log in or sign up for Devpost to join the conversation.