# Phase 5 — Polish & Deploy Responsive design, error handling, deployment, testing, and performance optimization. ## Checklist - [ ] Responsive design (mobile-first, works on phone browsers too) - [ ] Loading states, empty states, error handling for every screen - [ ] Dockerfile + Dokku deployment config - [ ] E2E tests (Playwright) for critical paths - [ ] Performance optimization (code splitting, image optimization) - [ ] SEO + Open Graph meta tags for marketing/demo pages - [ ] Accessibility audit (keyboard navigation, screen readers, ARIA labels) - [ ] Analytics integration (PostHog) --- ## 1. Responsive Design ### Breakpoint Strategy | Breakpoint | Target | Layout | |------------|--------|--------| | `<640px` | Mobile phones | Bottom tab bar, stacked cards, full-width forms | | `640-1023px` | Tablets | Collapsed sidebar (icons only), 2-column grids | | `≥1024px` | Desktop | Full sidebar, 3-column grids, side panels | ### Mobile Adaptations - **Navigation**: Bottom tab bar replaces sidebar (matches iOS app experience) - **Kanban board**: Horizontal scroll with swipeable columns (single column visible at a time on small screens) - **Cards**: Full-width stacked layout - **Forms**: Single column, full-width inputs - **Tables**: Convert to card-based layout on mobile - **Dialogs**: Full-screen on mobile, centered modal on desktop ### Implementation Use Tailwind responsive prefixes consistently: ```tsx // Grid that adapts from 1 → 2 → 3 columns
{residences.map(r => )}
// Sidebar visibility