The key architectural decision from the DTI build: call Supabase edge functions and the Claude API directly — no n8n hop in between.
The benefits stack up: fewer moving parts means fewer failure points. Lower latency because there's no middleware relay. One canonical place to log every interaction.
The pattern generalizes cleanly. Edge functions host the loop. Supabase holds state. The Claude API provides judgment. This is what 'validated 2026 micro-product stack' actually means in practice.