Skip to content
View omarbounawarapy's full-sized avatar
🇹🇳
🇹🇳

Block or report omarbounawarapy

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.

Content in all repositories owned by your account will be closed.
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
omarbounawarapy/README.md

Omar Bounawara

BACKEND & DATA ENGINEERING  ·  PYTHON  ·  SYSTEMS

I build backend services and data pipelines in Python, and I like checking them against real data.

GitHub · LinkedIn · Email

Things I've built

CrawlViz

research project A crawler that picks which links are worth following. On one run it explored 539 of 50,828 links.

  • Cheap embedding filter first, LLM only for unclear pages
  • 13 pipelines talking over one async event bus
  • Live React/D3 graph of the crawl
  • About 40x faster after switching to concurrent fetching

Repo


GAAPWise

client A pipeline that sorts and scores French legal announcements (BODACC). It ran through a month of real data, 318,962 records, with zero errors.

  • Rule-based scoring, no ML in the decisions
  • 17x faster by batching database commits
  • Same input always gives the same decisions

Demo video


Wasel

team of 5 Predicts whether a cash-on-delivery customer will refuse the parcel, from a chat in Darija, Arabizi or French. It passes a 476-case evaluation gate.

  • LLM reads the chat, XGBoost picks the score
  • Every quoted reason checked against the chat
  • Keeps answering when an LLM provider goes down
  • Prototype on synthetic data

Live demo


Invoice Intake

solo Turns messy invoice PDFs into clean JSON, CSV or Excel records, backed by 209 regression tests.

  • Handles table and paragraph layouts
  • Reads mixed regional number formats
  • No OCR or LLM, fully deterministic

Repo


IR Lab

from scratch A small search engine framework using only the standard library, tested on the CISI collection.

  • Boolean and TF-IDF retrieval
  • Significance test written from scratch
  • Refuses to compare runs that differ in more than one setting

Repo


Open source

Scrapy, merged Crawl4AI, merged Terrier, merged


Stack

Daily


Python · FastAPI · SQLite · SQL · Git · Linux · GitHub Actions · pytest

In some projects


React · Docker · aiohttp · Pandas · PySpark · Pydantic · scikit-learn · OpenRouter

Still learning


JavaScript · Tailwind CSS · Java · LangChain · Hugging Face


Arabic  ·  French  ·  English

Computer engineering graduate from ISI, Université de Tunis El Manar.

Pinned Loading

  1. CrawlViz CrawlViz Public

    Research-grade focused crawler with event-driven pipelines, selective NLP/LLM scoring, and live crawl observability.

    Python 4

  2. IR-lab IR-lab Public

    From-scratch Information Retrieval framework in Python: Boolean and TF-IDF retrieval, MAP/MRR/nDCG evaluation, and paired significance testing.

    Python 4

  3. invoice_intake_automation_tool invoice_intake_automation_tool Public

    Extracts, normalizes, and validates invoice data from semi-structured PDFs into typed records, exported to JSON, CSV, or Excel.

    Python 4

  4. wasel wasel Public

    Scores Tunisian cash-on-delivery orders for refusal risk from customer chat (Darija, Arabizi, Arabic, French) and drafts the confirmation. Human-approved.

    Python 2

  5. qwen-coder-serve qwen-coder-serve Public

    Shell 1