Chat for a recipe; see rough ingredient prices from nearby stores.

Recipes rarely show what a basket costs today. This pairs a generated recipe with price lookups where we have APIs or feeds (Amazon, Carrefour, Noon) so you get a sense before you shop.
Next.js 15 with ISR for SEO pages
Claude via Bedrock (Haiku free / Sonnet paid)
Multi-store price aggregation (Amazon, Carrefour, Noon)
MongoDB with streaming Lambda responses
TanStack Query resource layer
Why a taxonomy layer?
Claude outputs ingredient names; stores sell specific packs. The mapping file joins names to product IDs where we can, and falls back to search links for the long tail.
Stores are all different.
Amazon has batch APIs, Carrefour uses feeds, Noon is mostly deep links. Same interface in the app; different adapters and cache TTLs behind it.