The architecture was insane, held together by duct tape and Swift. He wrote a Python script that scanned the external drive, indexed every .mp4 , .mov , and .mkv file, and extracted metadata using ffprobe . He then built a tiny local web server—a FastAPI app—that transcoded the videos on the fly using ffmpeg . The Mac Mini’s fan screamed like a jet engine.
He wrote a dynamic M3U generator. The script would read the folder structure and output a playlist that looked like this:
“Arjun,” his father would say, pointing a shaking finger at the TV. “I want to watch the 1997 Pongal celebration. The one where your cousin fell into the well.” mac2m3u
And every night at 8 PM, the channel switched to PRESENT_DAY > DINNER_TIME.mkv —a live feed of Arjun setting the table, reminding his father to take his pills.
#EXTINF:-1 tvg-logo="vhs.png" group-title="Family Archives", 1997 Pongal - Well Incident http://192.168.1.105:8080/stream/family_1997_02.mkv #EXTINF:-1 tvg-logo="vhs.png" group-title="Family Archives", 2001 Diwali Fireworks http://192.168.1.105:8080/stream/diwali_2001.mp4 He called it —a two-word name for a two-step process: take the Mac ’s files, turn them into an M3U . The architecture was insane, held together by duct
The second test was worse. His mother’s favorite cooking show—her own, recorded in 2005—showed up as a green, pixelated mess because of a corrupted codec. Arjun spent six hours writing a re-muxing routine.
“Look!” the old man beamed, showing Arjun his phone. “Three thousand channels! Cricket from London! Cooking shows from Kerala! All in a list.” He was using a generic IPTV player with a massive, unweildy playlist file. The Mac Mini’s fan screamed like a jet engine
That night, fueled by cold coffee and the arrogance of a full-stack developer, Arjun began building .