# Timepoll Implementation - [x] Poll model, SQLite persistence, timezone-aware schedules and vote conversion. - [x] Public/admin API, edit conflicts, live updates and basic abuse limits. - [x] Poll creation, administration, voting grid and overlap summaries. - [x] Responsive light/dark UI, touch interactions and accessibility. - [x] Backend and browser tests, Docker image definition, build workflow and documentation. Public codes use nine Crockford Base32 characters (3-3-3); private admin codes use twelve (4-4-4). Participant editing is intentionally trust-based. There are no accounts, calendar integrations, notifications or meeting durations. All persisted voting intervals are UTC instants; IANA timezones control display and conversion of the creator's local daily schedule. ## Verification - 24 backend tests pass, including DST transitions, half-hour transitions, vote conversion, edit conflicts, code collisions and restart persistence. - Chromium desktop and touch/mobile tests pass in light/dark modes, including live updates and a 320-pixel-wide editing viewport. - Ruff, workflow/Compose YAML validation and whitespace checks pass. - The build workflow runs the backend tests before building and publishing the Docker image. Publishing an image does not deploy a running service. ## Usability Follow-Up - [x] Explicit added-date collection and pending-date validation. - [x] Matching time dropdowns and outward rounding on slot-size changes. - [x] Root-level public/private links; old preview routes removed. - [x] Direct clipboard copying, tested against the actual clipboard over HTTP. - [x] Dismiss hover details on pointer exit and page/grid scrolling. - [x] Other participants' availability and boundaries remain visible through draft selections; combined view after saving or cancelling. - [x] Compact 15-minute rows on desktop and mobile. - [x] Emphasized hour labels and rules for 15- and 30-minute grids.