Computer Science undergraduate at Canadian University Dubai (GPA: 3.97) with hands-on experience in data engineering, full-stack development, machine learning, computer vision, and LLM-powered applications.
I build end-to-end systems โ from orchestrated cloud data pipelines and deployed multi-user web services to object detection models โ and I'm comfortable across the whole workflow: infrastructure as code, ELT modelling, API design, controlled experimentation, and quantitative evaluation.
Languages: Python โข TypeScript โข JavaScript โข Java โข SQL โข C++ โข Prolog โข Lisp
Data Engineering: Apache Airflow โข dbt โข BigQuery โข Google Cloud Storage โข Terraform โข Docker Compose โข Elementary โข Looker Studio
ML & Computer Vision: YOLOv8 โข PyTorch โข scikit-learn โข pandas โข NumPy โข Transfer Learning โข Object Detection
AI & Automation: Gemini โข Groq (Llama 3.3) โข Ollama (DeepSeek-R1) โข FAISS โข Browser Automation
Frameworks & Tools: FastAPI โข React โข Tailwind CSS โข Streamlit โข Git โข GitHub Actions โข pytest โข Playwright โข Roboflow โข Google Colab
Databases: PostgreSQL โข SQLAlchemy โข BigQuery โข SQLite
Cloud & Deployment: Google Cloud Platform โข Vercel โข Render โข Neon
Python Airflow dbt BigQuery Terraform Docker Looker Studio
Batch data pipeline ingesting air-quality data from the OpenAQ v3 API, comparing the UAE and Pakistan on PM2.5 against WHO 2021 guidelines.
- Backfilled 1.8M measurements in resumable 60-day chunks, each count-reconciled against the API before it is checkpointed
- An Airflow DAG fans out one dynamically-mapped task per sensor behind a rate-limit pool; a Dataset event then schedules a dbt transform DAG that astronomer-cosmos renders as one Airflow task per model
- staging โ daily aggregates โ WHO-exceedance marts across 121 dbt nodes and 83 data tests, with every GCP resource provisioned by Terraform and five required CI checks on
main - The finding: Pakistan's PM2.5 exceeded the WHO 24-hour guideline on 100% of 455 shared days (mean 75 ยตg/mยณ) against the UAE's 94% (mean 37 ยตg/mยณ) โ published alongside the coverage gap that qualifies it, ~180 reporting stations a day versus ~8
๐ฅ Macros Calculator โ Live App
React 19 TypeScript FastAPI PostgreSQL SQLAlchemy Gemini PWA
A deployed multi-user nutrition tracking app, rebuilt from a single-user Streamlit prototype into a decoupled frontend/backend architecture. 21 shipped phases ยท 725 tests ยท 50 API endpoints.
- Multimodal AI meal analysis (Gemini) โ describe a meal, record a voice note, or photograph it; any one produces a structured estimate and combining them sharpens it. Results are calorie and macro ranges with per-ingredient confidence, never a false-precision single number
- The model's accuracy is measured, not assumed. Every estimate is logged and compared against what the user actually saved โ interval coverage and directional bias per macro, with sample sizes โ and it refuses to report where the evidence is too thin
- It uses your saved foods instead of guessing them: the AI estimates the portion, your library supplies the macros โ splitting the work along the line each side is actually good at
- Depth beyond logging: a daily burn measured from energy balance rather than a formula, calorie banking across days, an eight-check weekly review where every figure carries its own window and sample size, water/step/supplement trackers, and meal sharing by self-contained code
- Argon2id + JWT auth with per-IP rate limiting; cross-tenant isolation proved twice โ 49 in-process tests and a 127-check smoke script fired at a running server
- Installable PWA, five-gate CI, Alembic migrations on every deploy, on Vercel + Render + Neon
Full feature list, architecture and screenshots in the project README.
Python YOLOv8 Roboflow PyTorch Google Colab
Trained a YOLOv8s object detection model on a custom 2,069-image campus dataset to detect fire alarms, wet floor signs, emergency exits, and safety helmets in real time.
- Achieved 96.8% mAP@0.50 after diagnosing class imbalance and consolidating exit sub-classes (+15.8 pp improvement)
- Ran 3 controlled improvement experiments; hyperparameter tuning was the best strategy (94.52% mAP on test set)
- End-to-end pipeline: Roboflow annotation โ COCO transfer learning โ 10.4ms/frame inference
๐ฎ Game Dashboard
Python Standard Library HTTP Windows
One place to see and launch every game on a Windows PC โ Steam, Epic, Xbox, Riot, and the loose folders that belong to no launcher at all โ with real cover art for all of them.
- Pure Python 3 standard library: no pip install, no npm, no build step, and nothing in the cloud
- Runs a small HTTP server on
127.0.0.1and opens a browser window at it; launcher detection, executable heuristics and icon extraction are all hand-rolled
Python Pandas scikit-learn
End-to-end ETL pipeline covering ingestion, profiling, cleaning, feature engineering, and classification modeling on large-scale taxi trip data โ achieving 97% prediction accuracy.
๐ค CUD Course Scraper
Python Streamlit Gemini LLM Ollama DeepSeek-R1 Browser Automation
AI-powered browser automation tool that logs into the CUD student portal, scrapes course offerings, and enables natural language queries via integrated LLMs.
๐๏ธ Chicago City Data Analysis
SQL
Multi-dataset SQL analysis exploring correlations between community hardship, crime rates, and school performance โ including views, stored procedures, and transaction management.
Python Streamlit Gemini LLM APScheduler SWI-Prolog
Natural language medication scheduling app using Gemini LLM for input parsing, APScheduler for automated reminders, and Prolog logic rules for drug interaction safety checks.
Python Linux systemd nginx Tailscale
A PaperMC Minecraft server and a custom web control panel running on a headless Ubuntu mini PC at home, for a handful of friends.
- PaperMC under systemd, with a Python control panel served over HTTPS behind nginx โ start/stop, live console, player management, plugin installs and metrics from a browser
- Tailscale for remote administration, a tunnel for friends to connect through, and scripted backups with off-box copies
No public repository โ the repo is a private server backup rather than a portfolio project.
Python FAISS sentence-transformers Groq FastAPI
A research assistant over a local corpus of AI/ML papers. An agent decides, per query, whether to answer from the papers (dense retrieval over a FAISS index) or from a live web search โ the routing decision is the point of the project.
Deliberately no RAG frameworks โ no LangChain, no LlamaIndex. The chunker, the embedding and indexing step, retrieval, the ReAct loop and tool dispatch are all written directly; libraries are used only for primitives. Every model call goes through one entry point, so swapping Llama 3.3 70B on Groq for a local Ollama server is a one-file change.
Status: the PDF ingestion and text-cleaning layer is built. Chunking, the FAISS index, retrieval, the agent loop, the evaluation harness and the API are still to come.
Interactive browser-based tools built for BCS 309 โ Algorithms I. No dependencies โ pure HTML, CSS, and vanilla JavaScript, deployed on GitHub Pages.
HTML CSS Vanilla JavaScript
Six-section interactive lecture covering brute force O(nยท2โฟ), dynamic programming O(nยทt), pseudo-polynomial complexity, and a formal NP-completeness proof via 3-SAT reduction. Three visualization modes: DP table animation, brute force bitmask walkthrough, and side-by-side comparison with live operation counters.
HTML CSS Vanilla JavaScript
Step-by-step visualization of the Huffman coding algorithm โ min-heap construction, greedy merges, tree building, and code generation. Includes encode/decode, complexity comparison charts (Huffman vs Shannon-Fano vs Arithmetic), and an exchange-argument proof of greedy optimality.
- Introduction to Modern AI โ Cisco Networking Academy (Apr 2026)
- Databases and SQL for Data Science with Python โ IBM, Coursera (Jul 2024)
- C Essentials 1 โ Cisco Networking Academy (Apr 2026)
- What is Data Science? โ IBM, Coursera (Dec 2023)
