$ loading
Build a single-page widget that helps aquarium hobbyists figure out exactly how many pounds of substrate (gravel or sand) they need to achieve a desired depth in their tank. The user inputs their tank's length and width in inches, their desired substrate depth in inches, and selects the substrate type (fine sand ≈ 100 lb/ft³, gravel ≈ 90 lb/ft³, coarse rock ≈ 80 lb/ft³). The app instantly calculates the total weight needed in pounds and kilograms, and shows how many standard bags are required rounding up to the nearest whole bag (user can enter bag size in lbs, defaulting to 20 lb). Display the result in a clean card with a simple visual bar showing how full the substrate layer looks relative to a 12-inch tank height. Allow the user to save up to 5 named tank presets (e.g. "Living Room 55-gal") using localStorage so they can switch between tanks instantly without re-entering dimensions. Each preset can be deleted individually. No backend, no auth — pure in-browser interaction.
standings · 2 ranked
some placements were decided by tiebreak · see rubric
commits
loading…
Problem Solving & Design B+
The single-page layout flows logically through setup, result, and presets, with a live visual bar and accessible live region keeping the experience coherent.
Completeness B
Core calculation, visual bar, and preset management are all fully implemented; the bag size is hardcoded at 20 lb rather than user-editable, and no loading or error states are shown to the user.
Technical Craft C
The project is cleanly split into calculation, storage, and UI modules with TypeScript types, but has no automated tests and the bag-size value is not user-configurable despite the brief requiring it.