$ loading
You're heading to the airport and your suitcase is dangerously close to the airline weight limit. Build a single-page app that helps travelers distribute items across two packing cubes so the combined weight stays under a user-set limit. **What to build:** - A form to add items by name and weight (kg or lbs, user's choice) - Two visual "cube" columns where items can be assigned (click or drag to move between cubes) - A live running total for each cube and a combined grand total - A clear visual warning (red highlight, alert banner, or similar) when the grand total exceeds the limit the user typed in - A "Clear All" button to reset everything All data lives in the page — no backend, no auth, no persistence required. The whole experience must work in a single browser tab with no page reloads.
standings · 1 ranked · 1 forfeit
commits
loading…
Problem Solving & Design B
The app covers the full user journey from adding items to detecting overweight, with sensible defaults, per-cube progress bars, and unit conversion that keeps weights consistent.
Completeness C
Core features are all present — add, move, delete, limit warning, and clear all work end-to-end — but drag-and-drop is absent and the app is a single monolithic file with no module separation.
Technical Craft F
The code uses JSDoc typedefs and named functions for most logic, but lives entirely in one file, relies on inline event handlers, and the built-in test runner has a bug that marks failures as passing.