AI Engineer

Moamen
Osama_

Agentic Systems & RAG Pipelines

I build production AI systems: agents that route, pipelines that scale, and infrastructure that doesn't break. Currently working at the intersection of LLMs, real-time data, and automation.

Band of Agents Hackathon · lablab.ai

RegIQ

A 5-agent AI cascade that reads a new regulation and ships a prioritized remediation plan in under 90 seconds, for about $0.05 — a compliance review that normally costs $5,000–$15,000 from a consulting firm.

Monitor → Legal Parser → Impact Mapper → Gap Analyst → Remediation Planner

Five independent agent processes orchestrated entirely through Band SDK's @mention routing: each agent resolves the next hop via get_participants() and @mentions it directly, no message queues, no shared state, no webhooks

Impact Mapper grounds every mapping in Qdrant-retrieved company SOPs and policies, so compliance gaps trace back to real internal documents instead of guesses

Model routing across 3 families through a single AI/ML API key: GPT-4o-mini classifies and tags urgency, Claude Sonnet handles legal reasoning and gap analysis, cutting cost ~6x versus routing everything through one frontier model

Human-in-the-loop gate: the Remediation Planner never auto-applies a fix, it @mentions a human reviewer in the same Band room and waits for an approve/reject decision

Full LangSmith tracing with @traceable on every agent, so the entire cascade, every LLM call, hand-off, and timing metric, is replayable end to end

Band SDKLangGraphLangChainFastAPIReactQdrant CloudLangSmithPydantic v2AI/ML API
RegIQ architecture: FastAPI and Band SDK orchestrate a 5-agent cascade (Monitor, Legal Parser, Impact Mapper, Gap Analyst, Remediation Planner) with Qdrant for RAG and LangSmith for tracing
open full size

Stack

tools I ship with

Python
LangChain
LangGraph
FastAPI
Redis
Qdrant
Docker
LangSmith
PostgreSQL
Gradio
uv
Modal
PyTorch
LiveKit
Supabase
Git
Selected Work

Projects

Production systems and research projects: from multi-agent chatbots to real-time vision pipelines. Each one taught me something different.

Production

CRM Chatbot

Production CRM assistant with intelligent intent routing, role-based tool access, and full observability — in English and Arabic

  • Two-layer intent router: LLM classifies intent first, then regex safety nets override misclassifications — 7 intents, 9 tools, bilingual (EN/AR)
  • Role-based tool filtering at build time — sales rep, team leader, supervisor, and admin each get only the tools relevant to their role. Clean separation, no bloated agent context
  • Prompt injection defense layer — detects and blocks injection attempts, hides internal tool names from responses, logs attempts, and fires randomized refusal messages so attackers can't pattern-match the defense
  • Full LangSmith evaluation suite for the router: custom evaluators for intent_accuracy, tool_subset_precision, and tool_subset_recall across an 87-example bilingual dataset.
  • Redis for conversation caching + MongoDB for persistence — two-layer memory architecture. Kubernetes-ready with liveness and readiness health probes
LangChainFastAPIRedisMongoDBLangSmithPythonGroqPydantic

Done Egypt

RAG real estate chatbot with intelligent routing & personalization

  • 3-stage pipeline: Router Agent classifies intent and extracts structured filters, then RAG Manager performs surgical fallback search (strict to partial to semantic-only), then SalesPerson Agent generates bilingual Arabic/English responses
  • Implemented personalization: if user consents, the system queries their interaction history (liked units, preferred zones, budget) and biases search results toward their profile
  • Router Agent rewrites vague queries into optimized semantic search strings. If the user asks something conversational that actually needs property data, the router catches it and routes to RAG
QdrantLangSmithFastAPIPythonChromaDBGroqGemini

Real Estate ETL Pipeline

Schema-agnostic Excel parser for wildly inconsistent data

  • Built a fuzzy column mapper using rapidfuzz that maps inconsistent Excel headers to a canonical YAML schema automatically: handles typos, abbreviations, and entirely different naming conventions
  • Modular pipeline: detect_header, detect_footer, CanonicalMapper, each independently swappable, one concern per module
  • Added an LLM layer that takes all column names and first two rows of incoming Excel, compares against our database schema, identifies which columns we need, and maps them: because columns were often named one thing and contained entirely different data
  • Philosophy: schema-agnostic by design, one concern per module, LLM as the last-mile translation layer when fuzzy logic can't bridge the gap
PythonPandasRapidFuzzYAMLETLLLM

IntelliVision

Real-time AI vision pipeline for visually impaired users

  • Graduation project: integrated YOLOv8 (object detection) + MiDaS (depth estimation) running in parallel on GPU via torch.cuda.Stream, deployed on Modal with keep_warm=1 for low-latency cold start
  • Built the LiveKit voice assistant with agentic tools: web search, standalone vision services as API tools, all integrated through a tool-calling architecture
  • Deployed all standalone AI services (depth estimation, scene summarization, face detection/recognition, object detection) to Modal for GPU access, then wired them as agent tools accessible via the voice assistant
  • Wired face detection to Supabase pgvector to score how similar a new face is to already saved faces, enabling real-time face recognition with vector similarity search
  • Built a JWT token server on Vercel for secure LiveKit room access; managed real-time WebSocket communication and implemented drop-stale-frames strategy to avoid processing outdated video frames
YOLOv8MiDaSModalLiveKitPyTorchSupabaseWebSocketPython
Discontinued

Reyada

AI coaching platform for startup founders

  • Full founder journey coverage: business name suggestions, content generation, answer evaluation with scoring, course recommendations, strength/weakness analysis, and answer refinement for clarity and impact
  • Cross-phase context mapping: the platform has multiple phases (idea, market, model, etc.) and we manually mapped which fields depend on context from previous phases, so the LLM pulls exactly what it needs and nothing more
  • LLM factory routing layer that identifies which phase and field a request is coming from, then automatically fetches only the relevant previously-filled data as context. No bloated prompts, no irrelevant noise
  • Strict request/response contract between AI layer and backend: every LLM call has a defined input schema and output schema. LangSmith tracing for observability; AI layer receives flat serialized strings while structured data stays in the DB
LangChainLangSmithFastAPIPydanticPythonPrompt Engineering
Data Speaks

Visualizations

A picture is worth a thousand tokens. Click to inspect.

RegIQ dashboard showing analysis history with status badges and gap counts
click to inspect

RegIQ, Analysis History

Every past compliance run with status, ticket counts, critical gap counts, and critical-path estimates. Click a row to reopen the full report.

RegIQ pipeline page showing real-time agent progress through the cascade
click to inspect

RegIQ, Real-Time Pipeline

Each of the 5 agents lights up as it starts work, showing elapsed time and status while the cascade completes in roughly 90 seconds.

Remediation Planner's final output message in the Band chat room
click to inspect

RegIQ, Remediation Planner Output

The terminal agent's output: a prioritized ticket list with dependency chains and effort estimates, posted back into the Band room for human review.

RegIQ review page with executive summary and prioritized remediation tickets
click to inspect

RegIQ, Human Review Gate

Executive summary, prioritized tickets, and total effort estimates. One click approves or rejects, the decision is recorded and the report finalized.

LangSmith evals and datasets trace for CRM Chatbot
click to inspect

CRM Chatbot, LangSmith Evals & Datasets

Production monitoring of the intent router, tracking intent_accuracy, tool_subset_precision, and tool_subset_recall across an 87-example bilingual dataset.

LangSmith latency trace for CRM Chatbot
click to inspect

CRM Chatbot, Latency Tracing

End-to-end latency breakdown per agent call, from intent classification through tool execution to final response generation.

Band chat room showing the live 5-agent cascade with @mention hand-offs
click to inspect

RegIQ, Band Chat Cascade

The Band room where the cascade actually happens: each agent posts its output and @mentions the next agent in the chain, live and inspectable.

LangSmith trace covering all 5 RegIQ agents end to end
click to inspect

RegIQ, LangSmith Observability

Every agent call traced end-to-end: LLM inputs and outputs, timing, token usage, and the full cascade flow across all 5 agents.

Done Egypt investment analysis visualization
click to inspect

Done Egypt, Investment Analysis

Interactive Plotly visualization analyzing real estate investment patterns across Egypt, comparing zones, price distributions, and developer performance.

Get in Touch

Let's build something.

I'm always open to new opportunities, interesting projects, or just a conversation about AI systems and engineering. Drop me a message and I'll get back to you.