Groovin' The View

A music visualiser built using P5 javascript library.
Technologies: Javascript, P5, DSP, CSS/HTML

Current FeaturesFuture Features
Uses DSP to extract the frequency spectrum of the incoming sound wave.Improved tempo detection
Produces a variety of visual modes; spectrum, circular, waveform.Particle effects
Background stars move in accordance to perceived tempoPitch detection for more interesting visualisations
Displays on all devices (very slow on phone)More transformations relational to tempo

Todoish

Recreating the popular Todoist list application from scratch using React (Custom Hooks, Context), Firebase & React Testing Library (unit & integration testing)
Technologies: React, Firebase, JavaScript, SCSS, Lighthouse

Current FeaturesFuture Features
Manage projects with associated tasks dynamicallyImproving accessibility using Lightouse
Firebase integrationTesting using React Testing Library (unit & integration testing)
Dark ModeUser authentication

Undergraduate Thesis

'Qualitative Assessment Metrics For Transfer Learning'

Technologies: Python, DNN frameworks (Keras, TensorFlow), NumPy

Thesis Overview: Transfer learning (TL) is a deep learning technique which simply takes a network that is really good at learning something and shares it's knowledge with another ... which would otherwise struggle to achieve strong results to improve it's classification significantly. However, neural networks are like black-boxes, in that it is difficult to qualitatively determine what is happening when the applications produce these significant results, particularly in TL as it is unclear how to assess it's performance beyond that of high-level metrics such as accuracy. My thesis developed several different assessment metrics that provided more qualitative understanding of TL applications.

Read More

Invading Space

A space invaders clone for AI exploitation
(inspired by codebullet)
Technologies: Javascript, P5, AI algorithms, CSS/HTML

Current FeaturesFuture Features
Game engine is built mimicking classic space invadersAdvanced AI - using genetic algorithm
UI complete and spritesMobile friendly
Basic AI and user modesAdvanced enemies


Portfolio Website

Website deployed on Github Pages to showcase resume and projects
Technologies: JavaScript, HTML/CSS, formspree.io (form API)

Current FeaturesFuture Features
Resume & project pagesRobust contact validation
Working contact form with basic validationFaster backend loading
Custom domain integrationAdd gifs of projects instead of static images
Various JS transformations

Mafia

Future Project Idea

Mafia is the classic hidden-identity card game where in a group of individuals, some are townsfolk, others are mafia. ... The town are trying to expose who the mafia are and the mafia are trying to take out the town one by one. In order for mafia to run using cards is one player is the NPC narrator that keeps track of what happens and facilitates the game. This web applet does this role for you allowing all players to take part in the action.

Read More

Who's listening

Future Project Idea

A current urban conspiracy is that the big tech companies (FB, Google) are always listening to everyone all the time. ... A typical example of this is when someone starts talking about a specific item, let's say ski boots, and suddenly they are flooded with ads for ski boots across their social media apps. This app is simple in premise, in that it shows what things are happening under the hood of your phone in terms of processes running, permissions set etc. to clearly show "Who's listening".

Read More

GROW

Future Project Idea

GROW is an app idea I had when I felt like I had alot of areas of life I wanted to improve on or skills/tasks/projects I wanted to build, but felt them fall away after that initial buzz of excitement. ... GROW will set up a period of time where you want to focus on growing one of those things. Similar to the app Forest which grows a forest when you set times to focus, GROW could grow a series of different things depending on the category: a great oak tree for finishing a book, a tall skyscraper for building a DIY project, a monster truck for improving in a sport. Ideally, I'd like all of the objects to be procedurally generated so it is a unique reward.

Read More