Core architecture, design system, and golden rules for the Swim Meet Timer monorepo.
The Swim Meet Timer is a high-precision, mission-critical ecosystem designed to replace manual stopwatches and paper trails at competitive swim meets. It bridges the gap between pool-deck timing and the SwimTopia/Meet Maestro cloud environment.
meet_id.sqlite3 package (WAL Mode explicitly enabled via PRAGMA journal_mode = WAL;)./api/sync/pending-files) that serve JSON payloads to the custom Windows maestro-sync.exe utility, which acts as the physical bridge to the Meet Maestro file directory.time_ms). Never convert to strings (MM:SS.ss) until the final UI display layer.WHERE meet_id = ? clause. Data "bleeding" between meets is a critical failure.session_summary boundaries. If Heat_current >= Heat_total_for_event, then Event = Event + 1 and Heat = 1. If Maestro is not connected, fallback to generic auto-increment (e.g., 5 heats per event).localStorage if the network is unavailable.time_ms: 0 and the is_no_show: true boolean. The UI must intercept this flag and explicitly render a "NO SHOW" badge, rather than reverting to a 00:00.00 fallback string.raw_time column to preserve the digital footprint for disputes.inset shadow to denote a writable field.100vh and 100vw with overflow-hidden. The <body> tag must never scroll.#f25b2a thumb, transparent track).inset shadow variant on :active and selection states to create physical compression into the Neumorphic material.#1b1d21 (Matte Charcoal).#282a2f (Slate Grey).#f25b2a to #e83323 (Orange-Red).shadow-[12px_12px_25px_#0e0f11,-12px_-12px_25px_#363940]shadow-[8px_8px_16px_#0e0f11,-8px_-8px_16px_#363940]shadow-[6px_6px_12px_#0e0f11,-6px_-6px_12px_#363940]shadow-[inset_4px_4px_8px_#101214,inset_-4px_-4px_8px_#363940]border-radius between 24px and 40px (e.g., rounded-[32px]). No sharp corners anywhere.bg-[#1b1d21]/20) for row separation.localStorage queue flushes correctly.raw_time remains unchanged in the DB even after multiple Admin edits.