Production Systems

Shipped AI systems: problem, approach, tech stack, and architecture.

Agentic Social Media Content Studio

Live demo ↗

If unavailable, the Azure VM may be stopped. Please contact me for a live demo.

Problem — Marketing teams spend hours turning source material into polished LinkedIn posts and carousels. Research, writing, design, fact-checking, and brand review often happen across disconnected tools, slowing campaigns and creating inconsistent results.
Engineering Challenge — Created an AI-assisted content workflow that transforms a topic, PDF, URL, or image into a ready-to-review campaign asset. Specialized agents collaborate on research, copy, visuals, and quality checks while keeping the user in control of edits and approvals.
Tech Stack — LangGraph, FastMCP, ChromaDB + BM25, OpenAI, Next.js, FastAPI, LangSmith, Docker, PostgreSQL

Architecture —

Campaign brief or source material ↓ Research and content planning ↓ LinkedIn copy and carousel creation ↓ Brand, quality, and source review ↓ User edits and approval ↓ Publish-ready content with supporting sources

What stands out

  • From source to campaign — turns PDFs, web pages, images, or a simple topic into complete LinkedIn content
  • Trustworthy messaging — connects key claims to supporting sources so reviewers can verify them quickly
  • Built-in quality review — checks research, copy, and visuals and improves only the part that needs attention
  • Faster revisions — lets users revise a hook, body, or visual without recreating the entire campaign
  • Consistent brand voice — applies reusable writing and design guidance based on the needs of each campaign
  • Clear human oversight — shows live progress, sources, and revision history for easier review and approval
Deployment — Deployed as a secure, containerized application on Azure, with separate services for the user experience, AI workflow, data, and content tools. The setup supports persistent projects, reliable updates, and future scaling.

RAG-Powered Knowledge Base

Problem — Teams needed accurate, cited answers from internal docs without hallucination.
Engineering Challenge — Balancing retrieval quality, context length, and latency for real-time chat.
Tech Stack — LLM, BGE-M3, Qdrant, LangChain, FastAPI

Architecture —

User query → embedding → vector search (Qdrant) → top-k retrieval → LLM prompt with context → streamed response.

AI Chat for Portfolio

Problem — Visitors wanted to ask questions about my work and get accurate, contextual answers.
Engineering Challenge — Building a small, reliable RAG pipeline with minimal infra and clear observability.
Tech Stack — Next.js, Django REST, OpenAI / Llama, Qdrant, PostgreSQL

Architecture —

Next.js frontend → Django API → embedding + vector search → LLM → response. Optional caching and rate limiting.

Document Classification Pipeline

Problem — Large volumes of documents needed consistent tagging and routing for downstream workflows.
Engineering Challenge — Throughput, cost control, and handling edge cases without manual review.
Tech Stack — Python, Transformers, Celery, PostgreSQL, S3

Architecture —

Ingest → queue (Celery) → embedding + classifier → write labels and metadata → trigger workflows.