syntwin

A longer conversation gives an agent more context to carry, and a tool can fail halfway through a turn. At SynTwin, I worked on keeping conversational agents stable through both, while they drove digital-twin workflows.

I built the workflows and orchestration in Python with LiveKit, and tuned the prompts for consistency across long sessions. This needed more structure than a single chat loop. Explicit orchestration and careful prompt structure took more design work upfront, but made handoffs and recovery more predictable.

SynTwin voice agent showing its listening state during a call

The call interface, with the agent in its listening state.

My work also reached into that user-facing side of the platform. I built a React/Vite interface connected to Supabase for authentication and real-time sync. Docker kept the backend services portable as I moved between agent design, infrastructure, and the interface.

I worked part-time with the CTO and a small team of five on end-to-end system design through April 2026. My part covered both how the agents behaved and the application around them. The public product is at SynTwin (opens in a new tab).