Coding

Add me on LinkedIn and GitHub. Check out my websites.

Reddit Developer Platform Link to heading

Beta tester and developer on the Reddit Developer Platform (Devvit). I developed several utility apps to assist with common subreddit moderation tasks. All of the apps were written in TypeScript (my first experience with the language).

  • Admin Tattler: Get notified when the Reddit Admins action content in your subreddit. [Source]
  • Moderator Mentions: Get notified about moderator username mentions in your subreddit and (optionally) action the content. [Source]
  • Only Flairs: Easily restrict commenting on individual posts to only users flaired in your subreddit. [Source]
  • User Scorer: Automatically report or remove comments from users based on their User Score, a metric quantifying their recent history in your subreddit. [Source]

Rooster Teeth Website Archival Progress Link to heading

https://shiruken.github.io/rt-archive/ (Source)

Track the status of the Rooster Teeth website mirror on Internet Archive. Originally created to monitor the progress of the archival effort using the Rooster Teeth API. Tracks the completeness and availability of all 42,603 videos that were available on the platform prior to shutdown. Data processed and website generated with Python and hosted using GitHub Pages.

Rooster Teeth Website Archival Progress

Reddit r/science DOI Checker Link to heading

Automatic digital object identifier (DOI) lookup for posts on the r/science community used to facilitate the moderation of reposts and other invalid submissions. Powered by PRAW using Beautiful Soup for parsing website content and Flask for generating the frontend interface. Hosted using Oracle Cloud Free Tier.

r/science DOI Checker

Texas COVID-19 Vaccine Tracker Link to heading

covid-texas.csullender.com/vaccine (Source)

Visualization of county-level Texas COVID-19 vaccination data. Tracks the number of doses that have been allocated/shipped to providers and administered across the state. Data is scraped daily from the Texas DSHS dashboard using Python with pandas and accumulated into a time series. The website is built with D3.js and deployed and hosted using GitHub Pages.

Texas COVID-19 Hospital Resource Usage Link to heading

covid-texas.csullender.com (Source)

Visualization of Texas Department of State Health Services data for regional hospital resource availability across the state. Highlights the impact COVID-19 hospitalizations are having on hospital bed and ICU bed usage. The raw data is extracted with Python using pandas. The website is built with D3.js and deployed and hosted using GitHub Pages.

COVID-19 Case Map Link to heading

covid.csullender.com (Source)

Zoomable choropleth map of confirmed COVID-19 cases in the United States built with D3.js. Data sourced from the COVID Tracking Project and USAFacts and regularly updated using Python + pandas. The website is deployed and hosted using GitHub Pages.

Reddit r/science Dashboard Link to heading

Monitors the r/science community for all new submissions and tracks performance over the following 24 hours. Uses PRAW to grab various metrics and stores the results in a MySQL database. Charts are generated with Google Charts via server-side JSON exports and displayed on a website using Javascript + HTML.

Scholar Plotr Link to heading

Deprecated in July 2022

Scraped Google Scholar search results to generate annual publication frequency charts for a specific query. Used a combination of Javascript and Google Apps Scripts to overcome Google’s anti-scraping protection. Dear Google, please please please implement an API for Google Scholar.

Scholar Plotr Screenshot

Bands I’ve Seen Live Link to heading

csullender.com/live-music

Lists every band I’ve seen perform live in concert. Uses the LastFM API to grab a photograph of the artist and displays in a simple grid generated using the CSS flex property.

LastFM Listening History Link to heading

Deprecated in July 2022

Used the LastFM API and Python to scrape my weekly, yearly, and overall most listened-to artists, albums, and tracks. Loaded and displayed entries asynchronously using jQuery and PHP.

LastFM First Listen Link to heading

Deprecated in July 2022

Input a LastFM username and an artist to get the first time the user ever scrobbled the artist and the name of the corresponding song. Implemented completely in PHP.

Note: This website no longer works since LastFM deprecated the user.getArtistTracks API endpoint.

The Last Swifting Link to heading

Deprecated in July 2022

Input a LastFM username to see the last time the user listened to a Taylor Swift song (if ever). Results are asynchronously loaded using jQuery and PHP.

Fitbit History Link to heading

Deprecated in July 2022

Used the Fitbit API and Python to ingest my daily step count and sleep estimates into a MySQL database in order to generate a dashboard website depicting a variety of statistics about my activity. Data was visualized using Google Charts.

Screenshot of Fitbit History Dashboard

Trakt Viewing History Link to heading

Deprecated in July 2022

Used the Trakt and TMDb APIs and Python to scrape my recently-viewed TV shows and movies and displayed a list featuring episode stills and movie posters.

Screenshot of Trakt Website

Alabama Amendments Tweetbot Link to heading

Disabled in November 2020

Uses the Twitter API and Python to post a daily tweet for each of the over 900 amendments to the 1901 Alabama Constitution.

Screenshot of @BamaAmendments Twitter account

Twitter Analytics Dashboard Link to heading

Deprecated in November 2015

Used the Twitter API + Python to reconstruct and maintain a clone of the downloadable Twitter archive. This collection of JSON files was parsed to extract a variety of metrics including monthly/hourly/weekly activity, user interaction frequency, tweet length distribution, and word frequency. The results of this analysis were presented on a dashboard-style website powered by of HTML, Javascript, and Google Charts.

Dogecoin Address Analysis Link to heading

Deprecated in September 2015

Loaded transaction data from Dogechain to generate a timeline and histogram of an individual Dogecoin address’ balance over time. Powered by PHP and visualized with Google Charts.

100 Billion Dogecoin Countdown Link to heading

Deprecated in June 2015

Estimated the time remaining until the 100 billionth Dogecoin was mined based on information from the SoChain API. Displayed as a Javascript countdown timer.

Screenshot of 100 Billion Dogecoin Countdown Website

Dogecoin Tweetbot Link to heading

Deprecated in June 2015

Used the Twitter API and Python to tweet hourly updates about the remaining time until the each Dogecoin block reward halving and the mining of the 100 billionth Dogecoin.

Dogecoin Halving Countdown Link to heading

Deprecated in February 2015

Estimated the time remaining until the next Dogecoin block reward halving based on information from the Dogechain API. Displayed as a Javascript countdown timer.

Screenshot of Dogecoin Halving Website

Dogecoin Block Discovery Link to heading

Deprecated in December 2014

Used the Dogechain API and Python to scrape block timing information. Visualized the timeline and histogram of the Dogecoin block discovery times since inception using Google Charts.

Destiny Countdown Link to heading

Deprecated in September 2014

Javascript countdown to the release of Bungie’s new game Destiny.

Real-Time Location Tracker Link to heading

Deprecated in 2013

Grabbed location information from a now-defunct Android location tracking app and displayed path on a dynamically updated Google Map along with current speed and total travel time and distance. Rendered obsolete by Google’s Share My Location and Apple’s Find My Friends features.