shelf — cross-layer dependency map
reads
writes
triggers
model call
external
🖼 UI Components
BriefingCard
card renderer
BriefingSection
briefing layout wrapper
MarketReadSection
market summary
StateIndicatorBar
crawl status · freshness
🗺 Routes
/app
app._index.tsx
LAUI
⚡ user
/app/onboarding/*
6 step routes
LAUI
⚡ user
/app/billing
app.billing.tsx
LAUI
⚡ user
/api/sidekick
api.sidekick.tsx
L
⚡ Sidekick calls
/api/crawl-status
api.crawl-status.tsx
L
↺ polled ~2s
/webhooks
webhooks.tsx
A
📨 inbound
/app/settings/*
3 settings routes
LAUI
⚡ user
/app/billing/callback
app.billing.callback.tsx
L
⚡ Shopify redirect
/api/sidekick/*
market · peers · comparisons
L
⚡ Sidekick calls
/auth/*
auth.*.tsx
LA
⚡ OAuth redirect
📦 Lib / Models
session.server
Shopify auth · token
db.server
pg pool · query wrapper
boss.server
pg-boss client
types.ts
Merchant · Briefing · Plan
shopify-billing.server
plan helpers
🗄 Database
merchants
session · plan · config
products
tracked SKUs
competitors
URLs · homepage extras
briefings
AI output · per cycle
crawl_jobs
pg-boss queue
🤖 AI Layer
crawl pipeline
Python · ECS task
Layer 4 prompt
crawl/prompts/
claude-3-5-sonnet
anthropic model
briefing schema
JSON output shape
🌐 External
Shopify Admin API
product catalogue
Shopify Billing API
subscriptions
Shopify OAuth
app install · token
Shopify Webhooks
inbound events
Anthropic API
claude-3-5-sonnet
Playwright / web
headless crawl
← Hover any node
to inspect it