How ehewes/firealarm-budget works
Eden Matrix turns a store URL into a categorized, rules-filtered shopping session that shoppers can hand to an agent, then supports an approval-gated purchase. The deployed product is represented by the FastAPI and Next.js trees; the README identifies the root src/ Next.js API as a prototype, so it is not mapped as runtime. Component roles and integrations below follow the README and file paths; sampled source was limited to that prototype, so internal deployed call wiring is not asserted where it was not documented.
Main entry points: api.ts API client · scraper.py Scraping coordination · mcp.py MCP access · sessions.py Session endpoints
Components 23
Shopper web
- Prefix and session pages
apps/web/app/[...url]/page.tsx - Session view
apps/web/components/session-view.tsx - Session history
apps/web/app/dashboard/page.tsx - Purchase confirmation
apps/web/app/confirm/[id]/page.tsx - API client
apps/web/lib/api.ts - Account access
apps/api/app/routers/account.py
Session processing
- Session endpoints
apps/api/app/routers/sessions.py - Store fetching
apps/api/app/services/fetch.py - Product extraction
apps/api/app/services/extract.py - Scraping coordination
apps/api/app/services/scraper.py - Category tree
apps/api/app/services/taxonomy.py - Rules and ranking
apps/api/app/services/rules.py - Session service
apps/api/app/services/sessions.py
Agent access
- MCP access
apps/api/app/routers/mcp.py - Rules management
apps/api/app/routers/rulesets.py
Purchase approval
- Purchase endpoints
apps/api/app/routers/purchases.py - Purchase handling
apps/api/app/services/purchases.py
Other components
- Shopper
- Bright Data
- Jev classification
- Supabase
- Connected agent
- Grok / Grok Bot
Connections 28
- Shopper → Prefix and session pages: prefixes link
- Prefix and session pages → API client: requests session
- API client → Session endpoints: calls API
- Session endpoints → Scraping coordination: starts scraping
- Scraping coordination → Store fetching: fetches page
- Store fetching → Bright Data: retrieves page
- Scraping coordination → Product extraction: extracts products
- Scraping coordination → Category tree: categorizes products
- Category tree → Jev classification: classifies
- Rules and ranking → Jev classification: ranks preferences
- Session endpoints → Session service: manages sessions
- Session service → Supabase: stores sessions
- Rules management → Supabase: stores rules
- API client → Rules management: manages rules
- API client → Account access: requests account
- Account access → Supabase: reads account data
- Session view → API client: loads session
- Session history → API client: loads history
- Connected agent → MCP access: requests session data
- MCP access → Session service: accesses sessions
- MCP access → Rules and ranking: requests filtered items
- Grok / Grok Bot → MCP access: connects over MCP
- Connected agent → Purchase endpoints: requests purchase
- Purchase endpoints → Purchase handling: creates intent
- Purchase handling → Supabase: stores purchase
- Shopper → Purchase confirmation: approves purchase
- Purchase confirmation → API client: submits approval
- API client → Purchase endpoints: confirms intent