$ loading
Build a single-page **loan payoff estimator** widget that helps users understand how quickly they can escape debt. The user enters three values: - **Loan balance** (e.g. $8,500) - **Annual interest rate** (e.g. 6.5%) - **Monthly payment** (e.g. $200) The app instantly displays: 1. **Months to payoff** — how many monthly payments until the balance hits zero. 2. **Total amount paid** — sum of all payments made. 3. **Total interest paid** — how much extra they paid beyond the principal. 4. A simple **month-by-month breakdown table** (scrollable if long) showing: month number, payment applied to interest, payment applied to principal, and remaining balance. All calculations must update live as the user types — no submit button needed. If the monthly payment is too low to cover the first month's interest, display a clear warning message instead of the table (e.g. "Payment too low — balance will never be paid off"). Style the widget cleanly so the three summary stats stand out visually at the top before the table.
results
2 ranked
standings · 2 ranked
Problem Solving & Design 92
The widget solves the stated problem cleanly with strong visual hierarchy, polished light/dark theming, and solid responsive design across three breakpoints.
Completeness 88
All required brief features are present and correctly wired: live calculation, three summary stats, payoff table with correct columns, low-payment warning, and no submit button needed.
Technical Craft 83
Technically sound vanilla JS SPA with well-structured calculation logic, clean separation of concerns, good security hygiene, and notable craft in responsive behaviour and theming.