GitHub

Skills for certificate:

Version Control

GitHub Actions

GitHub

This is the page displaying all the material related to GitHub. This can include projects, blogs, certificates, university modules and work experience along with sub-skills.

Material

Circus Discussions cover image

Circus Discussions

For a final year university project, a social media platform was developed enabling users to form communities, start discussions, and comment on them. Tested on CRUD and software engineering principles.

Ringmaster Messaging cover image

Ringmaster Messaging

A custom back-end learning project involved creating a straightforward real-time messaging app. Users can chat one-on-one or in group chats, send text messages and images, view active users, etc.

Joker Notes cover image

Joker Notes

A note-taking app where users can sign up, log in, and reset passwords easily. It supports rich text formatting, image additions, and publishing notes publicly. Users alse organize notes into nested notebooks.

Quizmify AI cover image

Quizmify AI

A platform for dynamic quiz generation. Users can test their knowledge with multiple-choice or fill-in-the-gap questions across various topics. With immediate feedback and score tracking, users enhance their understanding.

Sideshow Articles cover image

Sideshow Articles

To learn Supabase, I developed a simple website for reading and writing articles. Users can read, create, and delete articles. This project paved the way for using Supabase in subsequent projects.

Noodle cover image

Noodle

In my second year of university, my group and I started an open-source learning platform project, introducing me to full-stack development. This app helps students manage tasks, assignments, exams, and store notes and resources.

Flask Forum Backend

This is a custom backend for the first iteration of the discussion platform. This was created to learn how to create a custom backend using Python and Flask.

Flask Backend Demo

A simple Flask app to learn how to create a RESTful API. This was a foundational project to learn how to create a back-end using Flask. This was helpful when creating the back-end for the discussion platform.

Flask JWT Authentication

A simple Flask app to learn how to use JWT for authentication. This serves as a foundation to using JWT in other projects using Flask.

Django Authentication

A simple Django app to learn how to use Django with tokens for authentication. This serves as a foundation to using Django in other projects.

Clerk Authentication

A simple Next.JS app to experiment with the Clerk Authentication SDK.

Auth0 Authentication

A simple Next.JS app to experiment with the Auth0 Authentication SDK. This does not use the new Next.JS 13 app router as it is not supported as of the time of making this demo.

Spring Data JPA Template

A template project for using Spring Data JPA with PostgreSQL. This was created for documenting how use SQL databases for our Spring Boot projects.

Spring Data MongoDB Template

A template project for using Spring Data MongoDB. This was created for documenting how use MongoDB databases for our Spring Boot projects.

Handwritten Digit Classifier cover image

Handwritten Digit Classifier

A handwritten digit classifier using built using a Convolutional Neural Network (CNN). Used various techniques such as data augmentation, batch normalisation, and dropout to improve the model's performance.

Adult Income Prediction cover image

Adult Income Prediction

Comparing various classification algorithms to predict whether an adult earns more than $50,000 a year. Emphasis is on feature engineering, data preprocessing with One-Hot Encoding, and model optimization through hyperparameter tuning.

House Price Prediction cover image

House Price Prediction

Comparing various regression algorithms to predict house prices in relation to the distance from the coast. Emphasis is on feature engineering, data preprocessing with One-Hot Encoding, and model optimization through hyperparameter tuning.

Custom Neural Network Classifier cover image

Custom Neural Network Classifier

Built a neural network from scratch to teach a Pacman agent. Used various techniques such as batch normalisation, dropout, momentum, learning rate decay and more to improve performance.

Machine Learning Algorithms cover image

Machine Learning Algorithms

Practicing various algorithms and techniques. This includes supervised, unsupervised, and reinforcement learning algorithms, as well as feature engineering, data preprocessing, and hyperparameter tuning.

Reinforcement Learning Lab cover image

Reinforcement Learning Lab

Practicing various Reinforcement Learning algorithms and techniques. This includes Q-Learning, Deep Q-Learning, and Asynchronous Advantage Actor-Critic (A3C) algorithms.

Custom Q-Learning Agent cover image

Custom Q-Learning Agent

A custom Q-Learning agent learns to play Pacman. Required foundational Mathematics knowledge and understanding of the Q-Learning algorithm.

Machine Learning Assignment 1 cover image

Machine Learning Assignment 1

Implementing algorithms from scratch such as the Nearest Neighbours algorithm. Requires an understanding of the Mathematics behind the algorithms and the ability to implement them.

Machine Learning Assignment 2 cover image

Machine Learning Assignment 2

Be able to use and implement algorithms, with the Lasso and inductive conformal prediction algorithms as examples.

Machine Learning Assignment 3 cover image

Machine Learning Assignment 3

Be able to use and implement algorithms, with the SVM, neural networks, and cross-conformal prediction algorithms as examples.

Machine Learning Labs cover image

Machine Learning Labs

Implemented various algorithms and techniques learnt during the course, such as Nearest Neighbours, Conformal Prediction, Regression algorithms, data preprocessing, kernels, Neural Networks, SVMs, etc.

Computational Finance Assignment cover image

Computational Finance Assignment

Exploring valuation of options using methods like Black-Scholes, binomial trees, and Monte Carlo. Also includes theoretical aspects of put-call parity and financial arbitrage opportunities.

Machine Learning & Data Science Lab cover image

Machine Learning & Data Science Lab

Focusing on learning generative models, using third-party models and using advanced techniques. This includes techniques such as transfer learning, LLM Agents, and Generative Models.

Markov Decision Agent cover image

Markov Decision Agent

Pacman agent plays to win the game while handling stochasticity in the movement of agent and ghosts. Uses Markov Decision Processes, Value Iteration and other enhancements.

Computer Vision Image Segmentation cover image

Computer Vision Image Segmentation

Segmenting images using various techniques. Specifically, used models of biological vision systems such as Simple and Complex cells, and Gabor filters.

Computer Vision Quizzes cover image

Computer Vision Quizzes

Solutions to quizzes where various low-level and mid-level vision techniques were covered. These techniques include edge detection, image segmentation, and image filtering.

Calculator

Simple calculator app built using Java as a Maven project. This was a second year Java assignment focused on software engineering methodologies. The project involved creating a calculator application, emphasizing the importance of proper version control procedures, test-driven development, documentation, and code quality assurance through linting and styling. The assignment highlighted the significance of following efficient software development processes rather than just focusing on the final implementation.

Database Mini Project

Learning to interact with a database using Java.

Leetcode Solutions

A collection of Leetcode solutions in Python. This is used to practice algorithms and data structures. They are also used to practice unit testing. CI/CD is also used to run the tests when merging to the main branch.

Searching & Sorting Algorithms

Jupyter Notebook containing various searching and sorting algorithms. Each algorithms is explained. All the algorithms are also compared to each other.

Osmos Game cover image

Osmos Game

A simple game built with SimpleGUI for a first-year university project. We manually implemented physics using vector theory and physics concepts, relying solely on documentation due to the lack of tutorials.

Automated Setup

A shell script which automates the setup of a new Linux machine. This is specifically for my Fedora install.

Related Skills