Field notes.

Things I've built and thought about.

Project writeups, technical deep-dives, and whatever else I found interesting enough to write about.

Posts

9
5 min read

Four Years of Spotify Data I Forgot I Had

For nearly four years, a script has been logging every song I listen to on Spotify into Google Sheets. I forgot about it. Then I needed it.

pythonspotifymusicdataproject
4 min read

Comick.dev Leaks User Emails Through Its Comment API

Comick.dev's comment API was leaking user emails for replies to shallow comments. I found the pattern, proved it, and reported it.

javascriptsecurityapireverse-engineeringwriteup
3 min read

I trained a neural network to find hamster memes

An artist I follow on Instagram posts hundreds of drawings, but mixed in are variations of this one specific hamster reaction image. I scraped their entire profile and built a classifier to find them all.

pythonpytorchmachine-learningcomputer-visiondeep-dive
3 min read

Why doesn't YouTube show likes before you click?

YouTube only shows like counts after you open a video. I built a Chrome extension that fetches them from YouTube's internal API and displays them inline on every video listing across the site.

javascriptextensionyoutubereverse-engineeringproject
4 min read

Mangabats Exposes Every Commenter's Email in Plain Sight

Popular manga reading site Mangabats leaks every commenter's email and phone number through its public comments API. I wrote a script to prove it.

pythonsecurityweb-scrapingapiwriteup
5 min read

Building a manga reader that scrapes over 25 sources

Every manga site is either drowning in ads or missing the series I'm reading. So I built my own reader that scrapes over two dozen sources, caches chapters for offline reading, and runs as a PWA.

nextjstypescriptweb-scrapingmangaproject
5 min read

Writing my own iOS music player without a Mac

I wanted a music player that streams from my own server. I don't own a Mac. So I wrote a native iOS app on my phone, compiled it on a jailbroken iPhone, and connected everything through a VPN.

swiftiosmusicnavidromeproject
3 min read

Numerade is hosting shadow library textbooks on public Google Drive links

Numerade's undocumented API exposes their entire textbook catalog. The books are stored on Google Drive with public access, and some appear to come from shadow libraries. Any registered user can retrieve them.

javascriptsecurityreverse-engineeringapiwriteup
3 min read

How Numerade's paywall relied on publicly accessible S3 buckets

Numerade locked video answers behind a subscription paywall. The videos themselves lived in public AWS S3 buckets. A userscript, a few HEAD requests, and you had unrestricted access.

javascriptsecurityreverse-engineeringawswriteup