For clients
Three ways I deliver for clients
Engagements I take on most often alongside full-time work. Each is scoped to ship something real into production, not a prototype or a slide deck.
AI Backend Engineering
Production FastAPI / Python backends for AI products with clean architecture, async DB, auth, observability, and cloud deploy.
- FastAPI service with async SQLAlchemy + PostgreSQL
- Auth (JWT / OAuth / OTP), RBAC, encryption
- Cloud Run / Docker deploy + CI/CD
- OpenTelemetry / Sentry / structured logs
RAG · LLM Product Build
End-to-end LLM features: prompt design, RAG pipelines with pgvector, multi-provider routing, structured outputs, and feedback loops.
- pgvector / Pinecone retrieval with proper similarity floors
- Multi-provider LLM gateway (OpenAI / Claude / Gemini)
- Structured outputs (Pydantic / JSON schema) + retries
- Eval harness + human-in-the-loop pattern
Automation · Agents (n8n, voice, chat)
Self-hosted n8n pipelines, AI voice receptionists, WhatsApp / Messenger bots, and lead-capture flows, wired into your stack.
- n8n workflows (self-hosted Docker stack)
- Vapi + Twilio voice agents
- WhatsApp Cloud API / Messenger bot with signed webhooks
- Eval framework with regression tests
How engagements work
I work async-first with solid overlap across EU and US-East hours. Projects start with a 30-minute scoping call, a written proposal with milestones, and weekly written demos once we kick off.
Most engagements are fixed-scope at a milestone price. For open-ended platform work I bill hourly at my Top Rated Upwork rate.