Projects
Here are some projects I've worked on. Click on any to see more detail (if available), you can also find more on my GitHub.
Spotify Uncovered
A react web app to show spotify listening stats.
Spotify-Uncovered
This is a project I developed to learn React, it's a spotify stats application similar to the end of year spotify wrapped, however it is accessible at any point of the year.
You can try out the app here (you must have a spotify account to sign in with): https://jacoba2000.github.io/Spotify-Uncovered/
Full Page Screenshot

VRCazam
An OSC application for VRChat allowing track detection via shazam from Avatar Expression Menu Contols.
VRCazam
A python application built with QT and utilising Shazam to detect currently playing tracks. Built with VRChat usage in mind as such supports track search via OSC trigger and XSOverlay (aswell as windows toast) notifications. OSC parameter can be added to a VRChat avatar's expression menu to allow track search to be triggered from VRChat.
Requirements:
- Python 3.12 or below
- FFMPEG
pip install -r requirements,txt
Rainmeter-MinimalCryptoTracker
A minimalistic rainmeter skin to track crypto prices.
Minimal Crypto Tracker
This is a rainmeter skin currently under development. It displays the current price and 24hr change of specified cryptocurrencies using the binance public api.
Currently Under Very Early Development! Expect Issues!
Setting the cryptocurrencies you wish to track:
This will be in the variables section and may slightly vary depending on the skin you are using a guide on how to use the variables section is here.
-
Single Tracker:
Find the variable:
TradeSymbol=BTCUSDTThen change the BTCUSDT part to whatever crypto symbol pair you with to track, for example if I wished to track Etheruem TO Binance USD, I would change it as follows:
TradeSymbol=ETHBUSD -
MuliTrackers: Multitrackers can also be changed in a very similar way the only difference is the variable names are slightly different. They will look like so:
TradeSymbol1=BTCUSDT TradeSymbol2=ETHUSDT TradeSymbol3=DOGEUSDT ;And so on!The number next to TradeSymbol represents its position in the list, TradeSymbol1 is the first in the list.
Variables
You can modify the variables by right clicking on any one of the skins and hitting the edit skin button. As shown below:
![]()
This will open up the code for the skin and may seem intimidating at first, However, to personalize the skin you only need to change items in the variables section, DO NOT TOUCH THE REST OF THE CODE UNLESS YOU KNOW WHAT YOU'RE DOING!
Variables will be located under a tag that looks like this:
[Variables]
;Variables are here!
Some variables will be commented, explaining what they do, and providing the default value as a point of reference if you need to go back and change them later:
;The default colour of the text. DEFAULT VALUE: 255,255,255
TextColor=255,255,255
However, as I am early in the development stage these comments may not be present and if they are may be very basic, this will improve as development progresses.
Variants:
-
Single Tracker:

-
Multi Trackers:
- 3 Trackers
-
Horizontal

-
Vertical

-
- 3 Trackers
Rainmeter-MinimalStockTracker
A minimalistic rainmeter skin to track stock prices.
Minimal Stock Tracker
This is a rainmeter skin currently under development. It displays the current price and 24hr change of specified stocks using the CNBC webpage.
Currently Under Very Early Development! Expect Issues!
Setting the stocks you wish to track:
This will be in the variables section and may slightly vary depending on the skin you are using a guide on how to use the variables section is here.
-
Single Tracker:
Find the variable:
StockSymbol=TSLAThen change the TSLA part to whatever stock symbol you with to track, for example if I wished to track Apple stock, I would change it as follows:
StockSymbol=AAPL -
MuliTrackers: Multitrackers can also be changed in a very similar way the only difference is the variable names are slightly different. They will look like so:
StockSymbol1=TSLA StockSymbol2=GME StockSymbol3=AAPL ;And so on!The number next to StockSymbol represents its position in the list, TradeSymbol1 is the first in the list.
Variables
You can modify the variables by right clicking on any one of the skins and hitting the edit skin button. As shown below:
![]()
This will open up the code for the skin and may seem intimidating at first, However, to personalize the skin you only need to change items in the variables section, DO NOT TOUCH THE REST OF THE CODE UNLESS YOU KNOW WHAT YOU'RE DOING!
Variables will be located under a tag that looks like this:
[Variables]
;Variables are here!
Some variables will be commented, explaining what they do, and providing the default value as a point of reference if you need to go back and change them later:
;The default colour of the text. DEFAULT VALUE: 255,255,255
TextColor=255,255,255
However, as I am early in the development stage these comments may not be present and if they are may be very basic, this will improve as development progresses.
Variants:
-
Single Tracker:

-
Multi Trackers:
- 3 Trackers
-
Horizontal

-
Vertical

-
- 3 Trackers
Snap Challenges
My university final year project, a photography challenge and social platform built with React Native, Python, Flask, and MySQL.
UWE-DSP
A photography challenges app that I developed for my final year project which I had to complete to get my BSc Computer Science degree from University of the West of England (UWE).
Aura-Devkit
A command line tool created to make the process of development easier. It does this by automating or shortening the time spent on dull tasks.
Aura-DevKit

Contents
Introduction
Aura-DevKit is a collection of command line tools created to make the process of development easier. It does this by automating or shortening the time spent on dull tasks.
Aura-DevKit is made up of different modules and more will be added as development continues. The current modules are:
Aura-DevKit is cross-platform and should work on both Windows and Linux although the setup process varies between operating systems and the tool is currently built under windows so there may be more issues on linux, however I try to test it as much as possible.
Requirements
In order for Aura-DevKit to function as intended we first have to meet a few requirements, these are as follows:
-
At least Python3 or above (This is currently being developed in 3.8):
https://www.python.org/downloads/
-
External python packages used by Aura-DevKit (list of packages used)
Make sure to run this from inside the Aura-DevKit directory (or specify the full path of the requirements file.)
pip install -r requirements.txt
CreateProject
About CreateProject
The CreateProject tool reduces the total number of commands needed to create a git repository for your project. It reduces the old process which required six commands to only one command.
-
Without Aura-DevKit
mkdir project cd project git init git add README.md git remote add origin git@github.com:username/new_repo git push -u origin main -
With Aura-DevKit
createproject <name> <private>The <name> and <private> are optional parameters, if called without them createproject will default to asking the user to input a name, and will use the default value of true for private.
CreateProject Installation
CreateProject can be run by just running the python file as you would any other, however this is not the recommended way of doing so. To run create project as intended there is a small amount of configuration required. This is as follows.
-
In order for CreateProject to function the user needs to have git installed and an ssh key setup for their machine.
I will not be going into detail on how to do this in this readme but you can follow the steps here if you have not set one up yet.
-
For the first launch we do have to run the file in the same way as we would any other python file:
python CreateProject.pyThis will ensure that all of the correct directories and files are created.
During this process you will be required to input some information.
-
It will ask you where you wish your projects directory to be.
You should input the filepath of the directory you wish to store your projects in. Ensure you end the path with the correct slash for your operating system e.g. windows: \, linux: /. An example of a valid and invalid file path is shown below:
Invalid filepath
❌ E:\JACOB\Personal Projects\Active Projects\Aura-DevKitValid filepath
✔️ E:\JACOB\Personal Projects\Active Projects\Aura-DevKit\ -
You will also be asked to authenticate with GitHub via OAuth2 (This allows the program to create repositories on your behalf.)
You will be provided with a code in the terminal (this lasts 15mins after this time has passed a new code will be generated). An example of what to look for is shown below:

Approximately 5 seconds after receiving this message your default web browser should open to the webpage shown below:

You should enter the code from the terminal into the boxes on this webpage.
After doing so you should see this message in the terminal:

This means that you have successfully authenticated with GitHub. From here you can either carry on and create a project by entering a name or kill the program.
-
-
(Optional but strongly recommended) Add the shell folder to your PATH variable.
Although not essential, doing this is strongly recommended as it allows you to call the command from any location and also avoids the need to call python directly.
For instructions on how to set this up click here.
(There are plans to reduce the complexity of setup in later updates)
Adding PATH Variable
THIS ONLY NEEDS TO BE DONE ONCE NOT FOR EACH TOOL!
Windows:
On windows we need to add our shell folder to our PATH environment variable. To do this we need to do the following:
- Open the search bar and search for "edit environment variables for you account" and open it.
- Click on the path variable in the user variables and hit edit.
- Copy the path to the folder you saved the script in.
- Hit new and paste the path you copied.
- Press OK on both windows.
Now we should be able to open up a terminal(powershell, cmd, windows terminal, etc) and type createproject and it will execute the python script.
Linux:
On Linux we need to add our shell folder to our PATH environment variable. To do this we need to do the following:
-
cd into the shell folder
cd shell -
Give the shell script executable permissions.
sudo chmod +x <scriptname>Replace <scriptname> with the script you wish to make executeable e.g. for create project it would be createproject.sh.
-
cd to your home directory
cd $HOME -
Open up your terminals rc file (this file name varies depending on your terminal but in most distros, the default will be .bashrc, I have included some popular terminals rc files below) with your favorite text editor(I would recommend using vim)
bash: ~/.bashrc zsh: ~/.zshrc -
Add the following line, MAKE SURE TO CHANGE /path/to/project/folder TO THE PATH OF YOUR SHELL FOLDER INSIDE OF THE MAIN PROJECT FOLDER
export PATH=/path/to/project/folder:$PATH -
Open a new terminal or reboot your machine
Now we should be able to open up the terminal and run our shell script by typing createproject.sh
Sorting Algorithm Visualization
A web app to visualize different sorting algortihms in aciton.
Sorting-Algorithm-Visualization
A visualizer to show how some sorting algorithms run.
A running version can be found here
Current algorithms: Bubble Sort, Quicksort, Insertion Sort, Selection Sort, Merge Sort
