A music visualiser built using P5 javascript library.
Technologies: Javascript, P5, DSP, CSS/HTML
Current Features | Future 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 tempo | Pitch detection for more interesting visualisations |
Displays on all devices (very slow on phone) | More transformations relational to tempo |
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 Features | Future Features |
Manage projects with associated tasks dynamically | Improving accessibility using Lightouse |
Firebase integration | Testing using React Testing Library (unit & integration testing) |
Dark Mode | User authentication |
'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.
A space invaders clone for AI exploitation
(inspired by codebullet)
Technologies: Javascript, P5, AI algorithms, CSS/HTML
Current Features | Future Features |
Game engine is built mimicking classic space invaders | Advanced AI - using genetic algorithm |
UI complete and sprites | Mobile friendly |
Basic AI and user modes | Advanced enemies |
Website deployed on Github Pages to showcase resume and projects
Technologies: JavaScript, HTML/CSS, formspree.io (form API)
Current Features | Future Features |
Resume & project pages | Robust contact validation |
Working contact form with basic validation | Faster backend loading |
Custom domain integration | Add gifs of projects instead of static images |
Various JS transformations | |
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.
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".
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.