feat: booking UI design polish — typography, layout, motion, touch targets #7
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/gcal-scheduler#7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lineage
todo-booking-ui-polish(no plan ancestry —plan-pal-e-postswas deleted; inline plan from session)Repo
forgejo_admin/gcal-schedulerUser Story
As a LinkedIn visitor clicking the booking CTA
I want a polished, distinctive booking page that feels premium
So that the page reflects the quality of Pal-E Agency and converts visitors to bookings
Context
The booking page (
static/index.html) was built by a dev agent without the/frontend-designskill applied. A design critique against the impeccable guidelines found 7 violations (Inter font, all-centered layout, rounded card wrapper, rounded-corner icon, no motion, monotonous spacing, non-clickable logo) and 14 actionable gaps (touch targets, easing, timing, font fallbacks, placeholder contrast, skeleton screen, safe area, hover detection, spacing tokens). The page is functional — E2E tested with 3 successful bookings — but needs to be unforgettable, not just functional.File Targets
Files the agent should modify:
static/index.html— the only file (all CSS, HTML, JS in one file)Files the agent should NOT touch:
main.py— FastAPI backend, API contract unchangedk8s/— deployment manifests.woodpecker.yaml— CI pipelineAcceptance Criteria
size-adjust,ascent-override) to reduce CLS--step-0through--step-3)--space-xsthrough--space-2xl) with varied rhythmhttps://www.linkedin.com/in/lucasdraney/withtarget="_blank" rel="noopener"prefers-reduced-motion: no-preferencecubic-bezier(0.25, 1, 0.5, 1)(ease-out-quart) replaces genericease@media (hover: hover)used for hover-only effects/api/availability,/api/book)prefers-reduced-motionsupport preservedTest Expectations
prefers-reduced-motiondisables animationsConstraints
static/index.html(FastAPI serves it at/):focus-visible, ARIA, skip link,prefers-reduced-motion)Checklist
Related
pal-e-agency— parent project (LinkedIn/booking CTA pipeline)