Projects
Things I've built. Most are public — click any card to open the repo or live site.
Collaborator
Claude Sonnet 4.6
Android Apps
NutriAtlas
Indian food & nutrition app with 2,647 recipes and 1,119 foods from ICMR databases (IFCT2017 + NVIF). A Python pipeline builds the SQLite database, served to the app via a Cloudflare R2 + Worker rate-limited endpoint.
TalkTrail
Permanently archives Android call history — Google's dialer silently drops entries past ~2000. Captures calls in real-time via BroadcastReceiver + WorkManager sync, attaches notes, and surfaces communication patterns per contact.
DigiTrace
Digital habit tracker that records app usage and screen time as data. No blocking, no limits — just clean analytics on how you actually use your phone, so you can reach your own conclusions.
ProbNative
Inspects native libraries (.so ELF binaries) inside any installed Android app. Extracts architecture metadata, parses ELF headers, and identifies the development framework used to build the app.
Android Dev Tools
avdroot
Modern tool for rooting Android Studio AVDs with Magisk. Spiritual successor to rootAVD (archived 2023, broken on API 34+). Works by pushing Magisk's own `host_patch.sh` to the running emulator and patching the ramdisk on-device — the same mechanism Magisk uses in its own CI. Supports API 34, 35, 36+.
android-rename-package
Bash + Python scripts to rename the package of any Gradle + Kotlin/Java Android project. Auto-detects the current package, rewrites it across `.kt/.java/.xml/.json` and build configs, moves source directories, cleans Hilt/KSP build cache (critical — they cache class references), and verifies the project still compiles.
Interactive Explorations
CFAR Game Series
Six explorable explanation games covering CFAR rationality techniques: Trigger-Action Planning (TAPs), Murphyjitsu, Goal Factoring, Double Crux, Goodhart's Law, and Turbocharging. Each is a self-contained HTML file with no build step.
The Paradox of Prediction
Interactive game teaching Causal Decision Theory through four philosophical paradoxes: Newcomb's Problem, Prisoner's Dilemma with a psychological twin, Death in Damascus, and the Psychopath Button. Players get a CDT/EDT profile based on their choices.
The Shape of Choice
Interactive React canvas about past paths and future uncertainty. Closed paths in black on the left, NOW in the center, futures still open in green on the right — one line traces the life actually lived through choices made during the run.
Automation & Tools
IRCTC Ticket Checker
Automated train ticket availability monitor for Indian Railways. Two modes — DOM scraping and API intercept. Runs in a real browser to bypass IRCTC's headless detection, with configurable class filters and Telegram/desktop alerts.
ResumeForge
PersonalReact resume builder with live preview. Data stored locally via Zustand.
Truepull
CLI that downloads and exports Truecaller's unencrypted Google Drive backup by impersonating the app via OAuth. Exports call logs, contacts, and SMS to structured JSON — no root needed, everything lives in plaintext on Drive.
wger-scripts
PrivateProgrammatically builds workout routines on wger.de via its REST API. Handles the nested data model (Routine → Day → Slot → SlotEntry), supersets, warmup sets, and JWT auth. Built for a personal training program.
tal-scripts
ResearchReverse-engineered Python client for Tal — an AI-powered personal talent agent that launched Apr 2026. Traffic intercepted via Burp Suite on an Android emulator to map a dual-backend architecture: Tal's own API for config and job feed, plus Stream Chat for real-time messaging with server-side AI response injection. Implements OTP login, Stream WebSocket session, and the full chat/feed/applications surface.
Airdrop Archive
Searchable database of 300+ historical crypto airdrops with distribution criteria and pattern analysis.