- Configuration: dotenv support, env vars for PORT, DB_PATH, CORS_ORIGIN, rate limits - Security: API key auth for write endpoints, rate limiting on import, configurable CORS, image URL normalization - Reliability: DB transactions for create/update, dirty flag for saves, foreign key enforcement (PRAGMA), duplicate detection O(1) optimization - Features: health check endpoint (/api/health) - Bugfix: corrected tag assignment/removal routes (param order) - Testing: added tests for PUT/DELETE recipes, tag CRUD and assignment, enabled foreign keys in tests - All 46 backend tests passing Closes #<ticket-if-any> |
||
|---|---|---|
| .. | ||
| after | ||
| before | ||
| README.md | ||
| assets.md | ||
| checklist.md | ||
| photo-first-assets.md | ||
| visual-style-guide.md | ||
README.md
T01 Baseline Visual Audit (Before Redesign)
Date: 2026-03-26
Task: T01 — Baseline Visual Audit
Owner: agent-ui-audit
Baseline screenshots (captured)
Saved under docs/visual-audit/before/:
home-desktop.pnghome-mobile.pngrecipe-new-desktop.pngrecipe-new-mobile.pngimport-url-desktop.pngimport-url-mobile.pngrecipe-detail-desktop.pngrecipe-detail-mobile.png
Capture notes / blockers
- ✅ Frontend runs at
http://127.0.0.1:4173and screenshots were captured. - ⚠️ Backend dev server failed to start (
ERR_MODULE_NOT_FOUNDforsrc/backend/db/database.jsfromsrc/backend/index.ts). - Impact: recipe list/detail/import states shown in screenshots are baseline UI without live backend data.
Prioritized visual issues by page
Severity legend: High = materially harms UX/clarity, Medium = noticeable polish debt, Low = minor inconsistency.
Global shell (header/footer)
- Medium — Visual language is inconsistent (glassmorphism header + mixed flat cards/buttons across pages).
- Medium — Emoji-heavy iconography reduces perceived product quality and visual cohesion.
- Low — Footer hierarchy is weak; feels detached from page sections and brand system.
Home / Recipe List (/)
- High — Primary CTA competition (
Add Recipeappears in hero and again in list section), reducing action clarity. - High — Hero occupies significant vertical space before core content (recipe discovery), especially on mobile.
- Medium — Mixed color semantics (orange hero accent, blue actions, slate sections) without a clearly unified token system.
- Medium — Search and filters appear visually secondary despite being primary list interactions.
- Low — Spacing rhythm varies between hero, filter panel, and card grid (inconsistent section cadence).
Recipe Detail / New (/recipe/new, /recipe/:id)
- High — Detail view lacks true hero media treatment; page relies on gradients/emoji rather than appetizing imagery.
- High — Action row density is high (edit/cook/delete) and becomes crowded on smaller widths.
- Medium — Card styles differ across sections (ingredients/instructions/additional info) creating weak visual hierarchy.
- Medium — Typography hierarchy can flatten in long content blocks (meta vs body text contrast not strong enough).
- Low — Border/shadow intensity differs subtly between cards and wrappers, creating visual noise.
Import URL (/import/url)
- Medium — Progress UI is visually strong but dominates above-the-fold area relative to the core URL action.
- Medium — Form field and button styles do not fully match recipe form/list control treatments.
- Low — Mixed icon/emoji style in flow states leads to inconsistent product tone.
Recommended redesign focus (P0 → P2)
- P0: Unify design tokens (color roles, typography scale, spacing/elevation) and normalize interaction hierarchy.
- P0: Rebalance home above-the-fold layout so search/discovery is surfaced earlier.
- P1: Introduce consistent, high-quality food imagery strategy (home + detail + cards).
- P1: Reduce action clutter in detail and establish one primary action per context.
- P2: Replace ad-hoc emoji iconography with a coherent icon system.
T04 Homepage Redesign (After)
Date: 2026-03-26
Task: T04 — Homepage Redesign
Owner: agent-core-ui
What changed
- Introduced a stronger home hero with clear action hierarchy:
- primary CTA: Start a Recipe
- secondary CTA: Browse Library
- responsive image panel with safe fallback chain (
hero.png→/images/hero-fallback.svg)
- Added feature-highlight blocks using T03 asset icons:
/assets/category/icon-dinner.svg/assets/category/icon-lunch.svg/assets/category/icon-breakfast.svg
- Improved visual hierarchy and spacing for the recipe discovery area:
- renamed section to Recipe Library
- improved search input and action sizing for touch targets
- retained filter behavior with clearer card grouping
- Polished footer structure in app shell:
- multi-column footer content
- quick links and stronger brand/utility hierarchy
- Empty state now uses T03 illustration (
/assets/empty-state/no-recipes.svg) for better visual clarity.
Token alignment note (T02 dependency)
- T02 token outputs are available (
frontend/src/theme.ts+ CSS custom properties infrontend/src/index.css). - T04 consumed existing token-friendly values (radius + CSS vars via global styles) and avoided introducing breaking token assumptions.
- If T02 token contracts evolve, align CTA/card semantic classes first before changing component behavior.
After screenshots
Saved under docs/visual-audit/after/:
home-desktop.pnghome-mobile.png