User interests

Aggregates content labels to user level. Project included filtering NSFW, grouping labels, and decaying. I designed and implemented. Batch feature was built with Airflow scheduler calling BigQuery scripts. Streaming feature was built with Flink. Further built User-to-Subreddit mapping using Annoy approximate nearest neighbors.

2021-2022Link

YouTube channel recommendation

Designed and implemented model to find best YouTube channels for a client, given URL and keywords for brand/campaign.

2018-2021Link

Video review pipeline

Developed a UI pipeline to facilitate and automate video reviews.

2018-2021Link

Olympus Mons

I wrote a program to easily train a continuous-state Mealy machine and perform inference with Monte Carlo simulations.

2024Link

Project Titan

Project Titan is a set of software I wrote to make predictions for sports. This is a large project with web scraping, modeling, and architecture components.

2023-2022Link

StacksByStacks

This is a now-defunct website I’ve made to track predictions made for NHL games, by experts on the internet. The front-end is built with Angular, which uses a PHP handler to access the MySQL database, which gets populated with a library of Python scrapers.

2020Link

Cell-Link Table

For a project, I wanted to arrange data in a table-like, object, but with the requirement: Cells could depend on other cells, with the dependency being any function (to be provided). When I update the cells, I want the children to update as well. As well the data is dynamically saved and loaded, so that the entire table isn't held in memory at once. The link contains a description of the project and design decisions I made; it contains a link to the code on GitHub.

2019Link

Webscraper 1

Requirements, basic design decisions, and technology choices.

2024Link

Black Jack 1

Scope and design

2024Link

Minesweeper 1

Requirements and work outline

2024Link

Webscraper 4

Create Linux service for scraper. Shop for DBs. Setup Prometheus.

2024Link

Webscraper 6

Pause implementation to consider different API patterns.

2024Link

Webscraper 9

Implemented proxy pools. Switch from expiration to freshness pattern.

2024Link

Scraper 11

Switched from sqlite to file directory. Added compression.

2024Link