Language models / Retrieval01
LitTraceQA
Answers grounded in scientific literature.
A literature QA pipeline that retrieves papers, reads PDFs, locates supporting evidence, and constructs schema-constrained answers.
27,487papers in the metadata pool
Python · Hybrid retrieval · PDF grounding
Engineering notes
BM25, acronym matching, and optional dense retrieval feed reranking and paper selection. PDF reading and answer synthesis retain separate failure traces.
Built with Mostafa Gaafar as Team OdeD for GroundLM 2026. The recorded automated score is 0.5519; the 0.7649 submitted score includes manual PDF auditing and leaderboard feedback.
Read the architecture
Signal processing / Interactive tools02
RF Signal Lab
Make signal impairments visible.
An interactive DSP learning tool connecting modeled channel and receiver effects to constellations, waveforms, spectra, and spectrograms.
28 / 13 / 17modulations / impairment models / views
Python · NumPy / SciPy · JavaScript / Canvas
Engineering notes
Signal generation, an ordered impairment chain, measurements, and a contextual tutor feed a browser interface through a local JSON API.
Includes analytic DSP checks, parameter sweeps, and guided identification challenges. It operates on synthetic signals; it is a learning simulator.
Read the design notes
Systems programming / Linux03
ProcSentinel
See and manage the processes underneath.
A Rust process-inspection application with terminal and graphical interfaces, Boolean filtering, process signals, and priority controls.
TUI + GUItwo interfaces to Linux process state
Rust · ratatui · egui · Linux /proc
Engineering notes
Combines system resource collection with a hand-written expression parser, cgroup and namespace views, and a loopback-only read-only monitoring agent.
A four-person operating-systems course project. Optional CRIU integration and other prototype boundaries are documented in the repository review.
Read the implementation review
Computational geometry / Optimization04
GIS Cup 2026 Solver
Geometry meets a placement budget.
A C++ solver that selects antenna sites on building boundaries to maximize visible perimeter coverage under a fixed budget.
Sweep + searchvisibility geometry and placement optimization
C++17 · OpenMP · Spatial indexing
Engineering notes
A rotational sweep builds visible boundary intervals. Precomputed contribution maps support greedy, beam, and local-search strategies; selected placements are rechecked before export.
Developed for the ACM SIGSPATIAL GIS Cup. The task models planar line-of-sight geometry rather than physical RF propagation.
Inspect the visibility sweep
Arabic NLP / Structured prediction05
Arabic Sentence Segmentation
Find boundaries when structure is missing.
Arabic sentence segmentation combining encoder ensembles, overlapping-window inference, length-aware decoding, and shared-context agent juries.
4 conditionspunctuation and paragraph structure
PyTorch · Hugging Face · Semi-Markov decoding
Engineering notes
Labels align to each word’s final subword. Window probabilities are averaged, and a training-fit sentence-length prior supports constrained decoding.
The accepted ENSAR paper describes shared-context juries applying only unanimously endorsed edits. The later jury-refinement stage is separately attributed to Noor Emam and the author team.
Read the stage and attribution notes
Physical design / Optimization06
Structured-ASIC Placement
Connect logic to a fixed fabric.
A physical-design prototype mapping synthesized logic to compatible fabric slots using greedy placement and simulated annealing.
4 mapped designs6502 · Z80 · AES-128 · arithmetic
Python · Tcl · OpenROAD · Sky130
Engineering notes
Incremental half-perimeter wire-length evaluation supports placement moves. The build graph connects placement to clock-tree/ECO generation, DEF creation, routing, and timing scripts.
A Digital Design II course prototype. Placement objective improvements are distinct from routed timing, power, and physical signoff.
Read the build and evidence notes
Computer architecture / RTL07
FemRV32
An instruction, through five stages.
A 32-bit RISC-V CPU prototype with explicit pipeline registers, shared byte-addressable memory, branch logic, and limited forwarding.
5 stagesfetch · decode · execute · memory · writeback
Verilog · Microarchitecture · RTL verification
Engineering notes
Built with Noor and Abed. The project journal records my branch/control and forwarding work. A source-guided architecture map explains the datapath and current hazard-handling limits.
The repository contains focused decoder checks and historical simulation materials; full-core ISA conformance remains a separate verification task.
Explore the datapath
Networking / Protocol internals08
NewTorrent
From wire bytes to verified pieces.
A single-file BitTorrent v1 client implementing bencode, HTTP tracker discovery, TCP peer messaging, and concurrent piece downloads.
SHA-1 checksevery assembled piece verified before publication
Python · Sockets · Concurrency · Binary protocols
Engineering notes
Bounded peer-wire frames, pipelined block requests, retries, and a temporary output file support downloading without overwriting the destination on failure.
An educational CodeCrafters-derived client scoped to single-file v1 torrents and compact IPv4 trackers.
Inspect the peer protocol