I build AI and backend systems with a focus on:
- 🤖 Generative AI — RAG, semantic chunking, hybrid search, LangGraph, Gemini
- ⚙️ Backend Systems — Python, FastAPI, Flask, REST APIs
- 🔄 Real-Time Applications — WebSockets, asyncio, threading, Socket.IO
- 🎤 Voice AI — Speech-to-speech applications using Deepgram
- 🧠 LLM Orchestration — deterministic workflows, task-based model routing, fallbacks
- 🐳 Engineering & Deployment — Docker, GitHub Actions, environment-based configuration
| Category | Technologies |
|---|---|
| Languages | Python, JavaScript, SQL |
| Backend | FastAPI, Flask, REST APIs, WebSockets, Socket.IO, Uvicorn |
| Generative AI | RAG, LangChain, LangGraph, Gemini API, Function Calling |
| Retrieval | ChromaDB, Vector Search, Semantic Search, Hybrid Search |
| AI Evaluation | Ragas |
| Voice AI | Deepgram Agent API, Speech-to-Text, Text-to-Speech |
| Concurrency | asyncio, Threading, Janus |
| Frontend | React, Next.js, Tailwind CSS, Web Audio API |
| DevOps | Docker, Docker Compose, GitHub Actions |
| Engineering | Environment-based Configuration, Real-Time Application Development |
1. 🧠 RepoIntel
AI-powered repository intelligence for public GitHub repositories.
RepoIntel separates deterministic repository analysis from semantic AI analysis instead of sending an entire repository directly to an LLM.
Built with:
- Python
- FastAPI
- LangGraph
- Gemini
- WebSockets
- Docker
Engineering highlights:
- Deterministic repository scanning
- Evidence selection for high-value source files
- Task-based Gemini model routing
- Primary → fallback model cascade
- Structural fallback when AI analysis is unavailable
- Real-time pipeline progress through WebSockets
- Deterministic LangGraph workflow without a supervisor loop
Verified self-analysis:
- 39 files scanned
- 2,595 lines of code
- 15 evidence files selected
- 31,354 evidence characters
- 2 successful AI calls
A browser-based real-time voice agent connecting browser audio, backend processing, and Deepgram's Voice Agent API.
Built with:
- Python
- Flask
- Flask-SocketIO
- WebSockets
- asyncio
- Threading
- Janus
- Deepgram Agent API
- Web Audio API
Engineering highlights:
- Real-time PCM audio streaming
- Speech-to-text, LLM processing, and text-to-speech
- Function calling
- Multi-session support
- Thread-safe queues for asyncio bridging
- Gapless 48 kHz PCM browser playback
A Retrieval-Augmented Generation chatbot focused on improving document retrieval and evaluating retrieval quality.
Built with:
- Python
- LangChain
- Gemini
- ChromaDB
- Semantic Chunking
- Hybrid Search
- Ragas
Engineering highlights:
- Semantic document chunking
- Hybrid retrieval
- Vector search
- Gemini-based response generation
- Dedicated Ragas evaluation workflow
- Retrieval quality evaluation instead of relying only on generated responses
AI application that converts sales call recordings into structured business outputs.
Built with:
- Python
- FastAPI
- Next.js
- React
- Gemini
- Deepgram
- Docker
- Tailwind CSS
Engineering highlights:
- Speech-to-text with speaker diarization
- AI-generated executive summaries
- Pain-point and action-item extraction
- Draft proposal generation
- Text-to-speech audio briefs
- PDF, Markdown, and email exports
- Docker-based backend deployment
I generally prefer:
Deterministic logic
↓
Reduce unnecessary AI work
↓
Selective evidence / context
↓
Use the appropriate model
↓
Graceful fallback
↓
Useful result even when dependencies fail
I focus on building systems that are:
- Predictable
- Debuggable
- Cost-conscious
- Resilient to external API failures
- Explicit about their limitations




