I build security tools —
and the interfaces that make their findings readable.
Most recently on Massar (APHE), an exposure-based attack-path engine.
attack path · metasploitable 2
5Dashboard pages shipped
89Attack chains ranked
734Tests green in the suite
AR / ENBilingual interface, full RTL
Figures come from Massar (APHE), the project below — not from this page.
01
About
A scanner hands you 431 findings. That’s data, not an answer.
Finding the exposure is half the job.
On Massar (APHE) I own the dashboard.
I care about interfaces that tell the truth.
FocusSecurity engineering · interface & front-end
ProjectMassar (APHE) — KAUST cybersecurity capstone
StackPython · Streamlit · HTML/CSS/JS · pytest
LanguagesArabic (native) · English (professional)
Open toRoles, collaborations, open source
02
Skills
Four areas, each backed by work that shipped.
Security engineering
Attack-path analysis, exposure assessment, and vulnerability data end to end.
Product engineering
Python that keeps decision logic pure and testable.
Interface & design systems
Design tokens, two themes across an entire application.
Accessibility & Arabic
Contrast and focus that survive both themes, plus a full Arabic RTL interface.
03
Work
One project in depth beats five in a list.
~/massar/dashboard
Flagship
Massar — Attack Path Hypothesis Engine
An exposure-based engine that ranks attacker chains deterministically.
My part
- The light theme, carried across every surface.
- The front door: a real first screen for the app.
- The accessibility mark, rendered correctly in both themes.
- Brand and navigation row, and settings that apply without reloading.
- Test work in the vulnerability layer.
89attack chains
431findings
5,745graph edges
0.7soffline run
Figures are the Metasploitable 2 offline replay reported in the project README.
Also
This site
One self-contained HTML file — no build step, no framework.
Next
Your next project goes here
A slot ready for the next thing — a CTF writeup, a tool, a lab.
04
How I work
Three rules I don’t bend.
Learned the expensive way.
01
Show the arithmetic
A number on screen with no visible breakdown is just an assertion.
02
The door and the room share a name
If the tab reads Host map, the page it opens reads Host map.
03
Look for the computable answer first
Before a language model gets to write anything, ask the data.
05
Journey
Where I’ve been, and where I’m going.
2026 — present
Massar (APHE) — KAUST cybersecurity capstone
Dashboard and interface owner on a five-person team.
add a year
Your degree or programme goes here
Open index.html and replace this text.
next
A certification, an internship, a CTF placing
Anything that proves motion.