Founder, NinjaLabs · I build software that runs where there is no server.
Local-first apps · agent tooling that survives adversarial input · whatever the problem actually needs
Now: Save & Send
1.3.2· SkillSleuth0.4.0· agent infrastructure at NinjaLabs
A private Android app that turns a shared Instagram, Facebook, YouTube or TikTok link into an MP4 that WhatsApp will actually accept. Format selection, audio muxing, trimming and +faststart all happen on the phone — no accounts, no analytics, no server that has to be trusted with your links.
8 releases · CI on every push · translations in Arabic and Urdu
A security scanner for AI agent skills. Every other scanner reads the file; SkillSleuth reads views of the file — raw, deobfuscated, decoded and unpacked — so it reports the payload and the trick used to hide it. Built as a direct answer to the Trail of Bits audit that walked past the entire first generation of these tools in under an hour each.
Reports its own false-positive rate instead of asserting precision
33 procedures covering every WCAG 2.2 Level A and AA success criterion, plus an audit command that maps each axe-core finding to the exact skill that fixes it. Each skill is a procedure — when to reach for it, ordered steps, a verification step, and the failure modes — because that is the shape an agent can follow and a reviewer can reject in a pull request.
Zero runtime dependencies · installs with a single npx call
A 3D chess opponent that physically picks up your pieces and flies them across the board. Every legal move is scored by a five-million-parameter network trained on 9,353 self-play games — no search tree, no engine. The telemetry sidebar is half real and half theatre, the README says exactly which half is which, and every performance number in it comes from a benchmark you can re-run.
Named after the FlyWire dataset. Honest about not using it yet.
Zero runtime dependencies is a feature. SkillSleuth and a11y-skills both install as a single npx call with an empty dependencies block. Nothing to audit, nothing to break, nothing between the user and the tool.
A claim without a test is a guess. a11y-skills ships 14 executable fixtures, and its demo build refuses to run if the "after" example is not actually clean. SkillSleuth measures how often it flags honest skills, because "75 rules" means nothing if the rules are wrong.
The device beats the server. Save & Send has no backend because none of it needs one. Local-first is not a marketing position — it is a smaller attack surface, a smaller bill and a faster answer.
- I was thirteen, writing Discord bots and Minecraft AFK scripts for servers I did not own, with no tests, no CI and no idea what I was doing. Those repos are still public — I keep them because the curiosity in them is the same engine as everything above, just with worse naming.
Everything since has been one long attempt to keep that curiosity and add the discipline.
Most of my work is private. The four above are the ones worth reading.