Selected workThings I've shipped
Six builds that show the range: production client back ends, safe assistants, phone and voice agents, and messaging commerce.
Production · clientEN / DE / RU
Arthur, an AI mentor
Streaming chat backend for an AI mentor, deployed as three language instances. The provider (OpenAI, Grok, Gemini or Anthropic) switches at runtime without a restart. Answers are grounded in the mentor's books and video transcripts, and chats accept images.
Rolling summary every 4 user turns to cut token cost · CRM sync to GoHighLevel · GitHub Actions deploy to EC2 under PM2
FastAPIPostgreSQLAgents SDKSSE
Production · legalAgentic RAG
EzJudgements
A legal research agent over a curated store of judgement PDFs. The model runs its own multi-step file searches instead of one retrieve-then-answer pass, and falls back to labelled web search when a judgement isn't in the store.
Streams text.delta · tool.searching · tool.searched · done · every tool call and citation saved
Responses APIfile_searchPostgreSQLDocker
SaaSSafe by design
RestaurantOS
A restaurant dashboard for orders, menu and table floor plan, with a chat assistant that answers questions about live data. The assistant is read-only by construction: no tools are sent to the model, so there is nothing to misuse.
Figures carry their period in the key, e.g. revenue_today_from_completed_orders_only
FastAPIPostgreSQLJinja2OpenAI
VoicePhone calls
Twilio phone agent
Call a normal phone number and talk to an OpenAI realtime agent. The server bridges Twilio Media Streams to a realtime session, lets callers interrupt mid-sentence, and tracks playback with Twilio mark events.
Call audio: G.711 μ-law, 8 kHz, buffered in 50 ms chunks
TwilioRealtime APIAgents SDKWebSockets
VoiceStreaming TTS
Fish Audio voice ordering
An LLM answer streams into Fish Audio's text-to-speech while it's still being written, so speech starts before the sentence ends. A second app takes food orders by push-to-talk, reads them back and places them.
Text is buffered 4 words, then 8, and never split mid-word
FastAPIFish AudioChromaDBWebSockets
MessagingCommerce
WhatsApp ordering bot
Customers pick a restaurant, browse a photo catalog, build a cart and check out inside WhatsApp. Staff use a dashboard to update orders, reply to customers and edit catalog products.
Native WhatsApp catalog orders · HTML confirmations over SMTP · replies in the customer's language
WhatsApp Cloud APIFastAPIOpenAI