Local-first · Privacy-respecting

A small workshop of
tools that don't get creepy

I'm Rishva Iyer. unEvilGenius Labs is where I build focused, local-first tools — each one does one thing well, on your machine, on your terms. Nothing leaves your device unless you explicitly opt in. Here's everything I've actually shipped so far.

Projects
📊 ComplaintGraph Live

Public complaint intelligence for consumer finance. Search a bank, credit bureau, lender, or card issuer to see its complaint trend, top issues, response quality, and a transparent risk signal — every score shows exactly how it was computed. Built entirely on the public CFPB Consumer Complaint Database; a signal explorer, not a verdict.

Vanilla JSInline SVGCFPB dataPublic data
📦 OpenSourceGraph Live

"ComplaintGraph for your dependencies." Search an npm or PyPI package and see a transparent 0–100 health signal — security posture, known vulnerabilities, maintenance, bus-factor, and license — with every factor showing its source and confidence. Built on public open-source APIs (deps.dev, OSV, ecosyste.ms, GitHub, SPDX/OpenSSF); a signal explorer, not a verdict or endorsement.

Vanilla JSInline SVGdeps.dev · OSVPublic data
🛰️ Surveillance Radar Live

An interactive 3D globe — "FlightRadar24 for surveillance tech." Spin the globe, zoom in, and click glowing points to see which agencies use which surveillance technologies, with links back to the supporting evidence. Built on the EFF Atlas of Surveillance dataset — public data only, with attribution.

Next.jsMapLibre GLTypeScriptPublic data
💬 ReplyGraph Interactive demo

A local-first macOS app that reads your own iMessage history, ranks which conversations need attention, drafts replies in your voice, flags risky tone, and extracts follow-ups. Read-only and copy-to-clipboard only — it never auto-sends. This is a sample-data demo of the interface; the real app runs on your Mac.

Python · FastAPIReact · ViteSQLiteRead-only
💼 JobAgent Interactive demo

A local-first job-search dashboard tied to a Claude agent that finds roles matched to your profile, drafts applications and email replies in your voice, and tracks your pipeline. Draft-and-approve — it never submits or sends for you; Gmail replies are saved as drafts. This is a sample-data demo of the interface.

Python · FastAPIReact · ViteClaude agentDraft-and-approve
✨ BetterAsk Download

"Autocorrect for your AI prompts." A Chrome extension that catches vague prompts before you send them to ChatGPT, Claude, Perplexity, and Gemini — and rewrites them into clear instructions that get better answers. Works fully offline; no account, no API key, no tracking required.

ViteReactTypeScriptChrome extension
What ties them together

This page lists only projects I've actually built — more will show up here as I finish them.