Whole products, from the OS to the checkout.
Software engineer in Dubai. I designed and built Clarus — a screenshot and screen-recording app for Windows — as a team of one, running AI agents: GPU capture and a Rust core, video editing, on-device OCR, cloud sharing, Stripe billing and the site it ships from.

Dubai · GMT+4 · Golden Visa, self-sponsored — no sponsorship needed.
- GPU screen capture— never a black frame
- Replaces the Snipping Tool— owns Win+Shift+S
- Timeline video editor— compiles to ffmpeg
- Offline OCR— nothing leaves the machine
- 15,759-px screenshots— stitched, 1 px of drift
- Searchable share cloud— finds the text inside uploads
- Stripe billing— per-seat teams, plans a client can’t forge
- Signed auto-updater— checks hourly, installs when idle
- Custom installer— written in Rust
- Instant replay— saves the last minutes, after the fact
- Cat detector— sees in total darkness
- 77,000 lines— one engineer
- GPU screen capture— never a black frame
- Replaces the Snipping Tool— owns Win+Shift+S
- Timeline video editor— compiles to ffmpeg
- Offline OCR— nothing leaves the machine
- 15,759-px screenshots— stitched, 1 px of drift
- Searchable share cloud— finds the text inside uploads
- Stripe billing— per-seat teams, plans a client can’t forge
- Signed auto-updater— checks hourly, installs when idle
- Custom installer— written in Rust
- Instant replay— saves the last minutes, after the fact
- Cat detector— sees in total darkness
- 77,000 lines— one engineer
Real screenshots of real shipped things.
Every image below is the actual product — the app captured from its own running window, the sites captured live.
Four bugs that would have shipped. They didn't.
Every one of these is from the real product, with the number that proved it.
Found a hole that handed out free cloud storage to anyone
The app never shows a password field, but the auth backend still exposed a signup endpoint. Proved it with one request: an address that cannot receive mail came back with a live token and a 250 MB bucket. Closed it the same day, then re-probed to confirm.
HTTP 200 → refusedCaught a paid seat being given away for free
Two people accepting the same team invite at once could both pass the seat check. The fix is one line — a row lock before the count — and it reads as ordinary SQL, so a checker now asserts it is still there. Also found the invite token was a bearer credential: any account could redeem it.
4 negative controlsFixed a bug that took 40 minutes of idle to reproduce
Leave the app alone, capture, and the overlay drew shifted — but the crop landed where you clicked. That asymmetry was the whole diagnosis: two halves each trusted a number the other could not see. Built a switch that reproduces it in seconds instead of forty minutes.
40 min → 2 s reproDiagnosed a one-frame glitch that no browser tool could see
Six CSS attempts failed. Recorded the screen at 60 fps and correlated frames: nothing moved — Windows was presenting the previous window surface for exactly one frame. Below the web layer entirely. Fixed by never resizing the window per card.
+148 px, residual 3How I use AI
The architect, not the typist. I design the system and set the rules the AI works inside — what gets built, in what order, and how every change is proven before it ships. Coding agents (Claude Code) do the typing under those rules; the checks decide if the work is real.
7 harnessesAll of it shipped in something real.
- Languages
- RustTypeScriptPythonSQLBashPowerShell
- Systems
- Win32DXGIWindows.Graphics.CaptureMedia FoundationWASAPICOMWebView2DPAPIffmpeg
- Product
- React 19Tauri 2ViteTailwindHTML & CSScanvasi18n and RTL
- Backend
- PostgreSQLrow-level securitySQLiteSupabaseDenoFlaskStripepasswordless authsigned URLs
- Infra
- Cloudflare Pages, Workers, KVDocker ComposeNSISrelease engineeringcode signingedge caching
- Vision & IoT
- computer visionon-device MLOCRimage processingFrigateRTSPMQTT
- AI
- Claude Codeagentic codingspec-driven developmentAI-assisted designMCP toolingverifying AI output
- Practices
- unit tests & harnessesprofilingthreat modellingCVE triagecontainer hardeningtechnical writingSEO
Let's build something that ships.
Open to remote engineering roles. Happy to walk through any of the work above in as much depth as you want.
Dubai · GMT+4 · Golden Visa, self-sponsored — no employer sponsorship needed





