App Summary: Field Frenzy
LOADED_SRC: https://producingtechnology.com/65-apps/okeolamide_180348_15200412_ooo38_field-frenzy.html
Summary of App Behavior
Field Frenzy is a themed scorekeeping app — the framing is a field-day-style competition
between "houses," but functionally it's a leaderboard with CRUD controls. On load it fetches
a list of houses from a JSON source and renders them into a leaderboard panel. Each house
card has +1, +5, +10, and -1 buttons for adjusting scores, and top-level controls let the
user Add a House, Declare Winner, Reset Scores, and
Reload JSON. Every action gets written to an Event Log panel, and when a
winner is declared, the app shows a trophy banner with a "Continue" button.
Honestly, the app doesn't do much beyond score tracking. What the assignment seems to be demonstrating is the JSON → DOM rendering pattern plus basic state mutations (add, adjust, reset, reload) with an event log as the visible trace. The "competition" theme is cosmetic.
Things That Didn't Work How I Expected
- The scores don't start at 0. The default red and blue houses load in with non-zero values, so to get to a clean starting state you either have to spam the -1 button (which would take ~50 clicks for the red house) or hit "Reset Scores" to zero everything out. Zeroed-out scores should just be the default state on load.
- The event is hardcoded as "Spring Field Frenzy" — there should be an option to rename the event so the app isn't locked to one occasion.
Prompt to Improve the App
Make Field Frenzy actually usable as a general-purpose scorekeeper. On first load, every house should start at 0 — having red and blue houses load in with baked-in scores forces users to either hit "Reset Scores" or spam the -1 button (which would take ~50 clicks for the red house) just to get to a clean starting state. Add an editable event title at the top so it isn't hardcoded to "Spring Field Frenzy" and the app can be reused for any occasion. While you're in there: timestamp entries in the Event Log, persist state to localStorage so a refresh doesn't wipe the game, and distinguish "Reset Scores" (zero out points, keep houses) from "Reload JSON" (discard everything, re-fetch) with clear confirmation dialogs.