Selected_Works

Engineering Projects

I enjoy building small tools and experiments that explore technical problems or solve everyday annoyances. Many of these projects start from a simple question: why does this behave this way?

YouTube Playlist Tracker

As someone who organizes playlists carefully, I found it frustrating when YouTube playlists developed gaps — videos becoming private, deleted, or region-restricted with no way of knowing what disappeared. I built a tool that archives playlists and detects missing videos by combining data from the official YouTube Data API and YouTube’s internal InnerTube API.

Each API exposes different capabilities. The official API works well for private playlists and region restrictions, while InnerTube is needed to access system playlists like Watch Later. To ensure consistent behavior, the project uses a provider abstraction where both APIs implement the same interface while handling authentication differently. This lets the application automatically select the correct provider depending on the playlist type. The result is a CLI tool that can archive playlists and detect missing videos across multiple playlist types.

Technical Notes
  • combining two APIs with different capabilities
  • designing a clean provider abstraction
  • avoiding false negatives when playlists behave differently
  • building the tool as a CLI utility for automation
TypeScriptSQLiteOAuth2InnerTube
Main Report
CLI Scan

The Oracle

A Discord bot built to track activity and make it visible, but more importantly to make those interactions tangible. It records voice sessions and messages, then turns that data into features that highlight patterns, shared time, and small social dynamics inside the server.

The bot is built with discord.py and PostgreSQL, with a focus on keeping data accurate across restarts and crashes. Voice sessions are tracked in real time and recovered on startup if needed. Some values, like total voice time, are stored directly to avoid expensive queries, while others are computed on demand when commands are used, so stats stay up to date without constant processing.

Implementation Notes
  • /profile gives a quick overview of activity and achievements
  • /top_friends surfaces who you actually spend time with
  • heatmaps show when people are active across the week
  • movie sessions track attendance and let users rate the movie
  • highlights shared time between users to surface recurring groups
  • recovering active sessions after crashes or downtime without losing data
Pythondiscord.pyPostgreSQLSQLModelDocker
Heatmap
Top Friends
Movie Night