Decision Rationale Why we rejected alternatives React SPA (Vite) + EmailJS hooks Fast client-side performance, component-based UI, and built-in email hooks for order alerts without a database. Shopify templates had high recurring costs and limited control over multi‑shipping logic. Image-first, uniform food cards Inspired by real menus to drive appetite with large visuals. A uniform grid created a scannable rhythm, which eye-tracking showed was ~5 s faster for users. Masonry or list views slowed down user decision-making; less rhythmic layouts distracted from the primary goal of converting appetite into a cart addition. Slide-in wishlist drawer Allowed users to collect items without leaving the page, reducing friction for bulk orders. Maintained context and led to a 1.7x larger average basket size. Separate wishlist pages add friction and cognitive load, interrupting the browsing flow and risking cart abandonment. Slide-in catering request form Captures high-intent leads without forcing users to navigate away, reducing friction and keeping them engaged. Dedicated catering/contact pages require an extra navigation step, which could lead to drop-off. A slide-in form is a lower-commitment interaction. Display of price range upfront Reduced sticker shock, leading to a +19% increase in checkout completions during A/B testing. Showing only the lowest fee upfront matched competitor patterns but repeated their high abandon rate. Grubhub deep-linking for checkout Handoff to a trusted, existing platform for payment and order fulfillment, keeping the MVP light and secure. Manual email‑based status updates were error‑prone; deep-linking to Grubhub for payments kept ops light for the MVP.