What it does
Odalytics is a Chrome/Edge extension + web dashboard for customers of Oda (Norway's largest online grocery store). You install the extension, it syncs your order history, and you get:
Everything is free.
The interesting technical bits
chrome.storage.local and resumed via chrome.alarms. Each batch is idempotent (ON CONFLICT upserts), so interruptions are safe.pg_net calls a serverless worker. Claude Sonnet classifies 25 products per batch across three dimensions simultaneously: NOVA group (1-4), best-matching CO2 reference entry from 505 Danish Climate Database items, and country of origin. Products with no direct CO2 match get a second LLM call that decomposes them into weighted ingredients. Cost: ~$0.001/product.The user introduces Odalytics, a Chrome/Edge extension and web dashboard for Oda customers, offering insights such as spending breakdowns, CO2 footprint estimates, and nutrition analysis. The technical implementation involves a browser extension, AI enrichment pipeline, and integration with Supabase. The user shares technical challenges and learning experiences, inviting feedback on the project.
Tech stack:
What I learned
db-max-rows limit (default 1000) that truncates responses server-side. .limit(50000) still returns 1000 rows. Cost me a full day of debugging. Solution: a fetchAllRows() utility that paginates via .range() in 1000-row chunks.Numbers
Links
Feedback is very welcome.