Project

Grocery Voice Processor

Grocery Voice Processor screenshot 1
n8nClaude AINeon PostgresWebhookREST API

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.