{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json",
  "basics": {
    "name": "Omar Bounawara",
    "label": "Software Engineer — Systems, AI, Data",
    "email": "omar.bounawara.py@gmail.com",
    "url": "https://omarbounawara.dev",
    "location": {
      "countryCode": "TN"
    },
    "profiles": [
      {
        "network": "GitHub",
        "username": "omarbounawarapy",
        "url": "https://github.com/omarbounawarapy"
      }
    ]
  },
  "education": [
    {
      "institution": "Institut Supérieur d'Informatique (ISI), Université de Tunis El Manar",
      "area": "Computer Systems Engineering, Networks & Systems",
      "studyType": "Licence in Computer Engineering",
      "startDate": "2023",
      "endDate": "2026"
    }
  ],
  "projects": [
    {
      "name": "BODACC Intelligence Pipeline",
      "description": "A deterministic ETL and scoring engine that turns France's public legal-announcement feed into prioritized, auditable leads.",
      "highlights": [
        "Batching database commits instead of committing per record turned a 977.5s production run into 58s on an identical re-run — a 17x wall-clock improvement, found by benchmarking rather than guessing.",
        "wall-clock improvement from commit batching: 17x",
        "spec requirements traced at compliance audit: 97.5% compliant",
        "automated test count: ~1,000 tests"
      ],
      "keywords": [
        "Python",
        "SQLite",
        "YAML",
        "pandas",
        "pytest"
      ],
      "startDate": "2026-01",
      "endDate": "2026-09"
    },
    {
      "name": "CrawlViz",
      "description": "A focused web crawler that decides what's worth fetching before it fetches it, cutting a 600-second crawl to 15.",
      "highlights": [
        "Same 560-node benchmark workload: ~600s to ~15s wall-clock (~40x), by cutting LLM calls to about 1% of link volume instead of exhaustive traversal.",
        "wall-clock speedup, 560-node benchmark: 40x",
        "links identified in reference workload: 50,828",
        "retained for downstream exploration: ~1%"
      ],
      "keywords": [
        "Python",
        "asyncio",
        "aiohttp",
        "sentence-transformers",
        "OpenRouter",
        "FastAPI",
        "WebSockets",
        "React",
        "D3",
        "SQLite",
        "Docker",
        "pytest"
      ],
      "startDate": "2025-09",
      "endDate": "2026-06",
      "url": "https://github.com/omarbounawarapy/CrawlViz"
    },
    {
      "name": "Invoice Intake Automation Tool",
      "description": "A CLI that turns semi-structured invoice PDFs into validated, typed records — no OCR, no LLM, no database, deliberately.",
      "highlights": [
        "200+ regression tests across table and paragraph invoice layouts and regional number formats, with zero external service dependencies.",
        "automated regression tests: 200+",
        "external service dependencies: 0"
      ],
      "keywords": [
        "Python",
        "pdfplumber",
        "Pydantic",
        "pandas",
        "openpyxl",
        "pytest"
      ],
      "startDate": "2026-02",
      "endDate": "2026-04",
      "url": "https://github.com/omarbounawarapy/invoice_intake_automation_tool"
    },
    {
      "name": "IR Lab",
      "description": "Information retrieval built from first principles — analyzers, inverted indexes, and Boolean querying, not a wrapper around a search library.",
      "highlights": [
        "A clean separation of ingestion, analysis, indexing, querying, and evaluation — each concern swappable without touching the others.",
        "pipeline stages cleanly separated: 5"
      ],
      "keywords": [
        "Python",
        "inverted indexes",
        "Boolean retrieval"
      ],
      "startDate": "2024-09",
      "endDate": "2026-01",
      "url": "https://github.com/omarbounawarapy/IR-lab"
    }
  ],
  "skills": [
    {
      "name": "Backend / Systems",
      "keywords": [
        "Python",
        "asyncio",
        "FastAPI",
        "Docker",
        "pytest"
      ]
    },
    {
      "name": "Web data / crawling",
      "keywords": [
        "aiohttp",
        "Scrapy",
        "Playwright",
        "lxml"
      ]
    },
    {
      "name": "Data / ETL",
      "keywords": [
        "pandas",
        "PySpark",
        "SQL",
        "SQLite"
      ]
    },
    {
      "name": "Applied AI",
      "keywords": [
        "embeddings",
        "sentence-transformers",
        "prompt engineering",
        "information retrieval"
      ]
    }
  ]
}