Grocery Voice Processor

The backend automation powering the Grocery PWA. An n8n workflow that receives voice recordings via webhook, transcribes and parses with Claude AI, detects categories and duplicates, and persists structured data to Postgres. Includes error handling, retry logic, and multi-speaker routing. Demonstrates workflow automation engineering: API design, data pipeline architecture, AI integration, and production reliability patterns.
My Thoughts
Why I Built This
The Grocery PWA needed a smart backend that could take messy voice input ("we need milk, eggs, and that cereal the kids like") and turn it into structured, categorized grocery items.
Architecture
An n8n workflow that receives voice transcriptions via webhook, parses them with Claude AI to extract individual items with categories, handles duplicates by updating quantity instead of creating new entries, and persists everything to Postgres.
Proud Code
The workflow itself is the code. It starts with a webhook that catches voice transcriptions from the PWA, then passes the raw text to Claude AI with a structured prompt that extracts individual items, assigns grocery categories (Produce, Dairy, Pantry, etc.), and returns clean JSON. A Postgres query checks for duplicates before inserting. If the item already exists, quantity gets updated instead of creating a duplicate. If anything fails, an error branch logs the issue and flags it instead of silently dropping the input. The whole pipeline runs in under 2 seconds per voice submission.