Encounter AI
A contemplative Scripture meditation app I architected and built for Encountering Peace — live at app.encounteringpeace.ai.
The brief was a conversational meditation experience: a streaming chat that could also pull from a curated library, generate audio on demand, and gate features by subscription. The build is deliberately quiet — vanilla ES modules in the browser, a small set of serverless functions custodying every external API, no framework runtime in the critical path.
What was delivered
The interesting problem
The non-obvious design problem on this kind of build isn’t the model itself — it’s wiring the model’s output into the rest of the app. A conversational interface where the model can also start audio, retrieve content, and move the UI between states needs a clean answer to a deceptively simple question: how does prose become side effects?
The textbook answer is structured tool calls. The right answer for a single-team product moving quickly is often something tighter — close coupling between the system prompt and the client-side dispatcher, both sides versioned together, no formal protocol overhead. Picking that tradeoff deliberately, knowing when it stops being correct, and leaving the seam in a place the client’s team can move later is the consulting work.
Tech stack
- Frontend Vanilla JS (ES modules)
- Serverless Netlify Functions
- Model Anthropic Claude
- Audio ElevenLabs
- Content Airtable
- Auth Memberful