Skip to content
View Ab-Romia's full-sized avatar
🎯
Focusing
🎯
Focusing

Highlights

  • Pro

Block or report Ab-Romia

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Ab-Romia/README.md

Abdelrahman Abouroumia

AI & Backend Engineer. Co-founder of Zaylon AI. I build backend systems, and the retrieval and agent layers that run on top of them. B.Sc. in Computer and Communications Engineering with an AI concentration from Alexandria University.

romia.dev  ·  Resume  ·  LinkedIn  ·  Hugging Face  ·  aabouroumia@gmail.com


AI agents and RAG

Zaylon AI   LangGraph · FastAPI · PostgreSQL · Redis · Docker

Conversational commerce for MENA merchants: customers browse, ask, and check out by chatting on WhatsApp, Instagram, Messenger, TikTok, or web chat. One tool-calling agent with about 30 scoped tools across sales, support, and checkout, connected to six e-commerce platforms and three payment providers. It started as a multi-agent supervisor routing to specialists, and I consolidated it into a single agent because the routing layer was the least reliable part of the system. The NLP side reads English, Egyptian Arabic, and Franco-Arabic, and replies in whichever one the customer used. Multi-tenant with row-level isolation, deployed on Railway.

commentdraft   Python · CLI · PyPI · Apache-2.0

A command line tool from paid client work, published on PyPI: it reads the comments on a creator's own posts, decides for each one whether to reply, skip, or escalate to a person, and drafts replies grounded in a single source document the operator supplies. A question the document does not cover goes to a person rather than a guess, because a public reply that quotes a wrong price costs the client money, not the tool. Nothing is published until a person approves that specific reply, and the approval gate is structural rather than a setting, which is what platform policies requiring consent before each action actually demand.

Most of the real work was the platforms themselves. The repository ships a connection guide for each of eight platforms (YouTube, Instagram, Facebook, Threads, X, TikTok, LinkedIn, Reddit), researched from their own primary documentation: what access really requires, what it costs, and where the commonly repeated advice is out of date or wrong. The Facebook Pages connector verifies every reply after posting it, because Meta documents the same API call as both a reply and an edit, and the wrong reading would silently overwrite a customer's own comment. PyPI  ·  Guides  ·  Write-up.

Talos   FastAPI · Milvus · MinIO · taskiq · LangChain

Team chat platform with a workspace-grounded assistant that answers from the team's own documents and cites the page it used. Files ingest asynchronously, chunked by heading and embedded with bge-small; a question runs dense and BM25 retrieval fused with reciprocal rank fusion, then a cross-encoder reranker, and the answer streams back with inline citations. An MCP server and a Slack bot serve the same corpus. Team graduation project, grade A+; my track was the AI, retrieval, evaluation, and deployment.

When the assistant gave weak answers I traced it to the chunker, which had shredded a 90-page guide into 1,778 fragments with a median length of 67 characters. I wrote 83 questions with page-level gold labels and ran a paired, Holm-corrected experiment on the production pipeline. Judged answer correctness went from 0.657 to 0.855 on that workspace's own corpus, which is a document-specific result and not a public benchmark. Case study.

ContextIQ-RAG   fastembed/ONNX · bm25s · cross-encoder

A RAG pipeline that runs on free CPU, written to be read: bge-small dense embeddings and BM25 fused with RRF, contextual chunk headers, cross-encoder reranking, inline citations, streaming. The evaluation reports where each arm loses. Over 21 questions on a corpus of seven handbooks, dense-only retrieval was the weakest at hit@3 0.67, hybrid took the best recall at 0.94, and adding the reranker gave the best hit@3 at 0.83 with MRR 0.78. Demo  ·  Write-up.

Backend and distributed systems

Virtual-Bank-System   Java 21 · Spring Boot · Kafka · PostgreSQL

A gateway and four services running a Kafka transfer saga with a transactional outbox, idempotent consumers, a dead-letter queue, and pessimistic locking, secured with RS256 JWT and traced with OpenTelemetry. A Testcontainers test fires twenty simultaneous transfers at one account and proves no double-spend. Write-up.

Applied ML

RAVDESS-emotion-recognition   PyTorch · WavLM-large

Speech emotion recognition evaluated actor-disjoint across six folds, so no speaker appears in both training and test. A frozen WavLM-large encoder with learnable layer weighting and attentive statistics pooling reaches 70.3% on audio alone, and calibrated late fusion with a facial-expression model reaches 78.8%. The project exists because of the split: moving the first audio model I tested off a random split and onto an actor-disjoint one cost it 13 points, which is the difference between measuring emotion and measuring whose voice it is. A unit test fails the build if any actor leaks across folds. Demo  ·  Write-up.

VoicePrint   Python · StyleDistance · NLP

Authorship stylometry from a StyleDistance style embedding plus interpretable function-word features. A 130-dimensional vector of function words, holding no content words at all, separated five authors at 0.684 macro-F1 and 0.889 accuracy against a five-class baseline of 0.20, with the splits taken by work so no book appears on both sides. Write-up.


The portfolio itself is open source at Ab-Romia/romia.dev: Next.js 16 App Router, React 19, TypeScript, Tailwind v4. It carries the case studies and write-ups linked above, plus a couple of playable demos.

Skills

skills
├── ai          LLM agents · RAG · MCP · LangGraph · LangChain
├── ml          PyTorch · embeddings · reranking · evaluation
├── backend     FastAPI · Spring Boot · Kafka · microservices
├── data        PostgreSQL · pgvector · Redis · Milvus · ChromaDB
├── languages   Python · Java · TypeScript · SQL · C/C++
└── devops      Docker · GitHub Actions · CI/CD · Linux · Railway

English and Arabic fluently, German and Spanish at a conversational level.

Pinned Loading

  1. talos talos Public

    Team chat platform with a document-grounded RAG assistant: hybrid retrieval, cross-encoder reranking, and cited answers. Graduation project.

    Python 2 2

  2. commentdraft commentdraft Public

    Triage social-media comments and draft grounded replies. Never posts.

    Python 1

  3. VoicePrint VoicePrint Public

    Authorship stylometry: a StyleDistance style embedding plus interpretable function-word features that measure a writing voice.

    Python 4

  4. ContextIQ-RAG ContextIQ-RAG Public

    A worked example of modern RAG on CPU: dense and BM25 retrieval fused with reciprocal rank fusion, cross-encoder reranking, inline citations, and an evaluation harness.

    Python 1

  5. RAVDESS-emotion-recognition RAVDESS-emotion-recognition Public

    Speaker-independent speech emotion recognition on RAVDESS: a frozen WavLM-large audio model and calibrated audio-visual late fusion, evaluated actor-disjoint.

    Python 1 1

  6. Virtual-Bank-System Virtual-Bank-System Public

    Event-driven microservices bank: a Kafka transfer saga with a transactional outbox, idempotent consumers, and a Testcontainers test that proves no double-spend.

    Java 2