Projects
Some things I've recently been working on:
Spotify Subgenre Analyzer — AI Music Taste Insights
Turns live Spotify listening history into a conversational music analytics tool. Built to understand which subgenres I actually lean toward, what is changing in my rotation, and which artists or tracks are driving those shifts.
- Authenticates with Spotify OAuth and analyzes top artists, top tracks, recently played history, and genre metadata
- Generates a listening snapshot with top genres, trend movement, recent tracks, and current top artists
- Streams Gemini responses grounded in real Spotify data for natural-language questions about music taste
- Handles token refresh, Spotify API errors, missing genre data, rate limits, and user-friendly recovery states
- Renders readable AI responses with Markdown support and a responsive chat-focused interface
next.jstypescriptspotify apinextauthgemini apitailwind
Hiresky — Automated Job Board Monitor
Monitors company career pages and sends real-time Slack alerts for new job postings. Built because LinkedIn's listings lag by days — I wanted same-day awareness with filters tuned to my exact criteria.
- Fetches live postings from Greenhouse, Lever, and Ashby APIs
- YAML-driven filters for role, company, and location
- Deduplicates via
state.json; logs matches to matches.csv
- Runs daily at 10 AM via macOS LaunchAgents + pmset wake scheduling
- Notifies via Slack webhook with hyperlinked results
pythongreenhouseleverashbyslack apiyaml
Spend Analyzer — Personal Finance Dashboard
Merges statements from multiple credit cards and bank accounts into one unified spending breakdown. Built because tracking spending across different cards in different formats was a pain.
- Accepts CSV, PDF, or screenshot uploads from any card or bank
- Built-in converter for Chase and Apple Card PDF statements
- AI-powered transaction categorization and insights via Claude API
- Filter by category; edit transaction labels inline
- Runs entirely in the browser — no server, no data leaves your machine
html/jsclaude apipdf parsing
visa-insights — H-1B Sponsorship Analytics
Dashboard for analyzing H-1B sponsorship trends using Labor Condition Application (LCA) data from the DOL. Built to help early-career candidates identify companies that actively sponsor entry-level roles.
- Computes an Early-Career Sponsorship Score (ECSS) via wage level analysis (Levels I–IV)
- DuckDB-powered ETL pipeline over large LCA Excel datasets
- Interactive filters by company, job title, year, and wage level
pythonstreamlitduckdb