Smaller Projects

2023-01-09

Description

In addition to some of the larger projects presented in this portfolio I have also created some smaller applications that don't warrant an entire portfolio entry. Most of the work presented here is unpublished and the code for which may not necessarily be public. However, most of the code can be made available on request and I am also always happy to discuss my work should anything need explaining. The following is an ordered list of said work, with the most recent first. This is not an exhaustive list, but I have tried to include as much as I can. The date associated with this portfolio entry corresponds to the last time this list was updated.

Projects

GitHub Actions for CICD

  • Most of my projects implement these actions for testing, building, deployment, and badge creation. Badges are automatically created/updated via a GitHub Gist JSON endpoint and shields.io.
  • Tools: Bash and YAML

Gym session booker

Twitch commands list

  • A lightweight searchable list of all chat commands available to viewers of any given Twitch streamer. Built as a neater alternative to existing command lists with the added benefit of being able to include commands from multiple different bots.
  • Tools: React, JavaScript, and Netlify Functions.

Analysis pipeline using Snakemake workflow management system

  • Takes the ID of a sample from public microRNA sequencing datasets and automatically grabs raw sample data (with optional downsampling), generates raw counts, annotates using the latest human miRbase release, and generates and compares expression profiles (gene activity) as a heatmap.
  • Creation of the workflow did not require any thorough understanding of any of the underlying science; I am not a biologist.
  • Tools: Python, Snakemake, and YAML for configuration.

Livesplit XML parser

  • Synchronises values across multiple XML files, combines files, and/or splits files into smaller chunks for use within Livesplit (a timing program for video game speedrunners) in segmented speedruns.
  • Tools: TypeScript and Deno.

Discord bot with Twitch integration

  • Performs a couple of tasks on the user's Discord server, including:
    • Creates a new channel that shows a user configured filtered list of live Twitch streams along with relevant stream details. Updated every 5 minutes.
    • Announces and keeps track of poker tournament standings.
  • Tools: JavaScript, Node.js, and Heroku.

Twitch bot with Livesplit integration for speedrunners

  • Allows chatters to bet on at what point in a speedrun the runner will have to reset, or if they will finish. Points for gambling are accrued by remaining active in chat or by winning bets.
  • Tools: JavaScript and Node.js.