$ loading
You're helping a first-time DIY painter figure out how many cans of paint to buy before heading to the hardware store. Build a single-page app where the user enters: - **Room dimensions**: wall width and height in feet (up to 4 walls) - **Number of coats** (1 or 2) - **Door/window cutouts**: how many doors and windows to subtract (standard sizes: door = 20 sq ft, window = 15 sq ft) - **Paint can size**: choose 1-quart (100 sq ft) or 1-gallon (400 sq ft) coverage The app instantly calculates total paintable square footage, total paint needed, and displays **how many cans to buy** (always rounded up). Show a clear summary card with the square footage breakdown and a friendly recommendation like "Buy 3 gallons" with a small note on any leftover coverage. Keep everything on one page with live recalculation as values change — no page reloads, no backend needed.
standings · 2 ranked
commits
loading…
Problem Solving & Design F
The calculation logic is thorough and well-structured, but the UI components lack accessible labels on every control, leaving the form unusable for screen-reader users.
Completeness B
Core calculation and live recalculation are fully wired, but the result card omits leftover context messaging and the app shows no empty or error states visible to the user.
Technical Craft B
The project is well-modularised with explicit TypeScript types, a dedicated pure calculation function, and a comprehensive test suite covering edge cases including float precision and clamping.