Product Manager at Google, working on Android Graphics .
Previously at Google Search, I led the launch of Core Web Vitals and Page Experience Ranking. The metrics became the industry standard for measuring web performance. Then on Chrome, I worked on anti-fingerprinting to make the web more private.
Prior to that, I was a Lead Technical Director at DreamWorks Animation . I worked on How to Train Your Dragon 2 , Madagascar 3 , Puss in Boots , Rise of the Guardians , and several others .
I studied Electrical & Electronics Engineering at BITS Pilani and earned my MBA from The Wharton School.
On the side, I build the tools I wish existed.
Projects 35
More on GitHubHighlights
icons
A fast, searchable browser for 200+ open-source icon sets with instant preview, copy, and export.
graphprix
A trading-terminal-style analysis tool for Formula 1 telemetry and race data.
jog
An image viewer. Like feh, but mine.
moneypile
A personal finance tracker.
aim
A better interface for adb. Same functionality, better UX.
magicfs
Present a directory in whatever order you want, so that * expands to it. Sort, shuffle, filter.
seal
Simple, secure file encryption.
tget
wget for torrents. Hand it a magnet link or a torrent file and it downloads.
safeclean
Safely clean up build artifacts and dependency caches to reclaim disk space.
mediainfo
A media file analyzer with filtering, sorting, and caching.
twig
A fast shell prompt with daemon caching and multi-shell support.
timeago-cli
Convert RFC 2822 dates to short humanized strings. Handy in prompts.
Everything else
- wat Watch what LLM agents are doing to your files, live in the terminal. Rust 2026
- hotshot A fast, zero-dependency screenshot tool for Linux, on X11 and Wayland. Rust 2026
- droidshot Capture the UI state of an Android device into one file, then step through it in the browser. Python 2026
- redline A semantic diff viewer for prose: what an editor moved, reworded, split, merged, or cut. TypeScript 2026
- ccpace Am I over or under on Claude Code this week, and what to do about it. Python 2026
- duomo A keyboard-driven app launcher. Rust 2026
- slides A presentation editor. Svelte 2026
- sesh Move a Claude Code session between machines, git state included. Python 2026
- seed-web My starting point for web apps: a shell with layout, type, and color decided. Svelte 2026
- loc A fast lines-of-code counter with language filtering and git history. Rust 2026
- git-cal A GitHub-style contribution calendar for your terminal. Rust 2026
- wgqr Generate WireGuard peer configs with QR codes. Rust 2026
- pikpak Submit magnet links to PikPak cloud storage. Python 2026
- plexcli A single-file CLI to scan libraries and manage a Plex server. Python 2026
- randr Grids of random strings to pick from: ids, tokens, names. Rust 2025
- utter Speak into your phone and have the text typed on your Linux computer. TypeScript 2025
- timezone Look up times across timezones. live 2025
- audtag Tag audiobook files with metadata from Audible. Python 2025
- avatone Deterministic avatars generated from any input string. TypeScript 2025
- stripaud Interactively strip unwanted audio tracks from video files. Python 2025
- plexman A web app for browsing and managing Plex media libraries. Svelte 2025
- deb-downloader Download .deb packages from APT repositories without touching sources.list. Python 2025
- mdbook-tailwindcss An mdBook preprocessor for adding Tailwind classes to markdown. Rust 2022