Selected Work

Things I've
built & shipped.

A mix of mobile apps, hardware projects, and developer tools — each one scratching a different itch.

01 / 04
Profile Unhider
Live on Chrome Web Store
A Chrome extension that surfaces hidden Reddit profile activity
A Chrome extension that detects hidden Reddit profiles and reveals their publicly indexed posts and comments. The trickiest engineering challenge was that Reddit's search API strips comment IDs from permalinks for hidden profiles — solved by fetching each thread and recursively walking the comment tree to find the author's comment. All data sourced exclusively from Reddit's public search index.
Recursive comment-tree search across parallel thread fetches — Reddit strips comment IDs for hidden profiles so each thread is fetched and walked to find the author's t1 comment
25 parallel Promise.all hydrations for comment body fetching with per-card DOM updates as each resolves
SPA-aware MutationObserver detects Reddit's client-side navigation and re-runs detection on profile changes
Chrome MV3 content script with zero permissions beyond reddit.com — no background service worker needed
Auto-detects hidden profiles via DOM text matching, injects Reveal button and full panel without page reload
Published to Chrome Web Store with landing page, privacy policy, and store screenshots
JavaScriptChrome MV3Reddit IndexingContent ScriptsCSSNetlify
██████████
Profile hidden
Reveal →
🔒 This profile is hidden
Click Reveal to surface activity
02 / 04
ResumeMatch AI
In Development
Chrome extension that scores & tailors your resume against any job posting
A Chrome extension that auto-detects job postings on LinkedIn, Greenhouse, Workday, and Lever — then scores your resume against the role using a two-pass AI pipeline (GPT-4o-mini verifies JD requirements before GPT-4o tailors the resume). Returns a match percentage with keyword-level breakdown, gap analysis, and one-click PDF export matching your original resume format.
Two-pass anti-hallucination AI: GPT-4o-mini verifies JD before GPT-4o tailors
Auto-detects job postings on LinkedIn, Greenhouse, Workday, and Lever via content scripts
Scores resume match % with keyword-level breakdown across skills, experience, and keywords
Gap analysis with evidence-validated hard/soft skill gaps
One-click PDF export matching original resume format via jsPDF + pdf.js
Zero backend — all data in chrome.storage.local, API key goes directly to OpenAI
ReactTypeScriptViteChrome MV3GPT-4ojsPDFpdf.js
Analyzing…
03 / 04
Six Seven
Live on Play Store
A tap counter app with milestone awards & spring animations
A minimalist yet deeply satisfying tap counter app built around the numbers 6 and 7. Tap the screen, watch the counter climb, and unlock 13 unique awards at milestone numbers — each accompanied by dynamic color palette shifts and spring-physics animations that make every tap feel rewarding.
13-award milestone system with earned/locked states and glow animations
Spring-physics seesaw animation on the 6–7 display using React Native Reanimated
Dynamic color palettes that shift on each milestone hit
AsyncStorage persistence — progress survives app restarts
Milestone banner slide-in with staggered entrance animations
Published to Google Play Store under Alpharot Industries
React NativeExpoTypeScriptReanimatedAsyncStorageexpo-router
MILESTONE
6
next: 7 taps
TAP · MILESTONE · AWARD
04 / 04
E-ink Dashboard
Built & Running
A standalone hardware dashboard with weather, Spotify & stoic quotes
A personal always-on dashboard built with an Inkplate 6 (ESP32-based e-ink display). Three screens cycle automatically — real-time weather for two cities via WeatherAPI, Reddit world news headlines with a year-progress pixel grid and stoic quote, and a Spotify fullscreen mode that activates automatically when music is playing, showing album art and a live progress bar.
SpotifyEsp32 OAuth with NVS token persistence — survives reboots without re-auth
Auto-detects active Spotify playback and switches screens automatically
Real-time weather for two cities via WeatherAPI REST integration
Year progress pixel grid (52 weeks) with dynamically fetched stoic quotes
Runs standalone via USB-C, no cloud dependency beyond API calls
Built entirely in Arduino/C++ with efficient memory management for ESP32
ArduinoC++ESP32Inkplate 6SpotifyEsp32WeatherAPIOAuth
⛅ Weather · Real-time
Seattle
Overcast
52°F
Houston
Sunny
78°F
📰 World News · Reddit
Global markets steady ahead of Fed decision — analysts weigh in on rate outlook
📅 2026 Progress · 82/365 days
"The impediment to action advances action. What stands in the way becomes the way." — Marcus Aurelius
▶ Now Playing
🎵
Blinding Lights
The Weeknd
2:14 / 3:20
E-INK · ESP32 · C++