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.
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
Stack
tools I ship with
Projects
Production systems and research projects: from multi-agent chatbots to real-time vision pipelines. Each one taught me something different.
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
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
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
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
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
Visualizations
A picture is worth a thousand tokens. 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, 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.

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, Human Review Gate
Executive summary, prioritized tickets, and total effort estimates. One click approves or rejects, the decision is recorded and the report finalized.

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.

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

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.

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
Interactive Plotly visualization analyzing real estate investment patterns across Egypt, comparing zones, price distributions, and developer performance.
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.