I build scientific machine learning systems and the engineering around them — Lagrangian data assimilation, uncertainty quantification, perception, and research software that actually runs.
MSc (2025), University of Calgary. Computer engineering before that. Open to engineering roles.
LinkedIn · GitHub · Google Scholar · Thesis · Portfolio · X · Project index
Live captures from deployed sites. Not mockups.
GitHub has no custom sort on the Repositories tab. This profile is the catalog: research first, undergraduate last. Homework from 2020–2022 is archived. Pins below are the six to open first. Same grouping lives in ahmaddroobi99/projects.
Completed MSc thesis: Data-Driven Filtering Techniques for Turbulent Flow Models (A Lagrangian Data Assimilation Approach) (Scholaris). Hybrid EnKF / particle filter (WHERE) for barotropic quasi-geostrophic flow. Reconstructs Eulerian energy spectra from sparse Lagrangian drifters.
| Repo | |
|---|---|
| qg-lada-lab | Public lab: spectral QG twin + localized EnKF in the browser, plus a committed Python solver (N = 32, XCOR 0.964). Live |
| local_wccm | Public MATLAB working copy of the barotropic Lagrangian filter (lagrangianfilter_baro.m, spectra, drivers). |
Private thesis sources stay private (MATLAB / Python / TeX). They are not listed here.
Lagrangian drifters → QG barotropic model (q = ∇²ψ − μψ)
→ spectral Helmholtz inversion
→ localized stochastic EnKF (+ optional EnKF–PF)
→ reconstructed Eulerian field, spectra, XCOR
| Repo | |
|---|---|
| ai-perception-lab | Local-first camera workstation. Real in-browser COCO-SSD, YOLO lab, people counter, optional VLM. Real vs simulated is labeled. |
| Repo | |
|---|---|
| meridian | Research terminal. Ranks papers and artifacts by technical depth, not virality. Live |
| lattice | Visual field manual of machine intelligence. Live |
| world-pulse | Choropleth atlas of global development indicators. |
| resource-graph-crawler | Crawler / graph over public research resources. |
| 200-dataset-websites | Catalog of ~200 dataset-source websites in 25 categories. |
| Repo | |
|---|---|
| engineering-portfolio | Portfolio OS over this account. No invented metrics. Live |
| aether-visualizer | Web Audio + Canvas visualizer. Live |
| wake | Interactive particle field. Live |
Smaller public prototypes — honest about what is actually committed:
| Repo | What is actually there |
|---|---|
| ridgeflight | Low-poly 3D terrain flyer (toy, not a sim) |
| tensortonic-rag-from-scratch | RAG practice, from scratch |
| mosqguard | Fan-trap controller state machine + architecture notes — not hardware |
| forge-mind | 2D geometry-vs-observation core — not a CAD workbench |
| aetherforge | Name-holder scaffold; no src/ yet |
| aws-from-scratch | Mini-cloud Makefile/Compose; service code thin |
| vancouver-bronze-recon | OpenSCAD/JSON of two Vancouver bronzes |
| ENME517 | UCalgary DoE pathfinding course project (2024) |
| DL_Project_Can-I-read-your-brain- | 2024 FC-network → emotion hackathon notebooks |
BSc Computer Engineering, An-Najah National University, 2023. These are provenance, not current work. Most 2020–2022 homework is archived so it sits behind current repos.
Capstone and the stronger course projects (left unarchived):
| Repo | |
|---|---|
| seniorGraduationProject2022_cookOverflow | BSc senior project: Django recipe site + recommender R&D |
| cookoverflow_Mobile_GradProject_2022 | Flutter client for CookOverflow |
| SoftwareProject_2021_Agile_Trello | Agile team of 7 (Scrum Master): PayMe Java Swing e-wallet — not Trello |
| computer_Architecture_Project_Piplined-_CPU_2021 | Verilog pipelined MIPS CPU (forwarding, stall, flush) |
| Artificial_Intelligence_Ckecker_AI_Game | Python Checkers with Minimax + alpha-beta |
| Messnger_FileTransfer_StopAndWaitProtocol_UDP | Java UDP chat + Stop-and-Wait 3.0 file transfer |
| WordCup2022_WinnerPrediction_ML | FIFA WC 2022 knockout predictor |
| Clemson_Project_Realtime-Face-Emotion-Recognition-Tensorflow-Transfer-Learning-Python | Face-emotion transfer-learning notebooks |
Everything else from that period (Django/Flask tutorials, Sparks Foundation tasks, 365 Data Science exercises, formatting drills, empty placeholders) has an honest README and is archived.
- Data assimilation — EnKF, particle filters, hybrid EnKF–PF, localization, inflation, Lagrangian observations
- Geophysical models — barotropic QG, shallow-water, Lorenz-63 / L96 as reduced-order tests
- Scientific computing — spectral methods, Helmholtz inversion, Python and MATLAB
- Uncertainty quantification — filtering, stochastic forcing, spectra, reconstruction skill
- Perception — camera pipelines, in-browser detection, tracking
- Software — Python, TypeScript/React, MATLAB, experiments other people can rerun
Forks of DAPPER, PyDA, torchda, and similar are reference, not original work. Their descriptions now say so.
- MSc, University of Calgary, 2025 — scientific ML / Lagrangian DA / UQ (completed)
- BSc Computer Engineering, An-Najah National University, 2023








