THIS IS THE SHERIFF
Bridging the code and commerce gap.
My Academia, Entrepreneurship and Software Development journey has given me the opportunity to build a lot
of interesting projects such as:
Note: These are samples and may not be complete projects. Contact me if you would like to view all the files for a certain project.
I was part of a hackathon team called Avengers Assemble that competed in the Stellenbosch University Capitec Data Science Challenge in 2022. I was the team captain so I developed a website to share data with the team and to get the edge on the competition! It paid off, we not only qualified for the hackathon but also finished runners-up.
Disa Travels is a Airbnb clone that I built with a group of friends using HTML5, CSS3, JavaScript and PHP. We stored data for guests, hosts, listings, and bookings into a MySQL database, and deployed the application using a docker container and Gitlab.
Duck is a peer-to-peer
file sharing application built using Java. The application has a beautiful user interface
created
using JavaFX and loaded with plenty of duck attitude. It lets people in a local area
network securely share
data.
A User can send or receive files from peers on the network connected to the main server. The
contents of the
requested file are encrypted before sending and decrypted on the recipient's computer.
A picture mosaic or photographic mosaic can be a beautiful expression of an image but generating one
can be a computationally expensive process. Given a large database of images a brute-force method
can become too costly to consider. Finding a way to reduce the number of picture mosaics considered
during the generation process is critical.
This project explored a method for generating a picture mosaic using an Evolutionary Algorithm(EA).
Starting with a set of random picture mosaics the algorithm evolves the set of picture
mosaics to generate an output image which resembles the given input image.
We are currently in the cryptocurrency revolution and everyone from investment bankers, to venture
capitalists, to individuals are looking to get involved in the gold rush.
How about businesses? I was part of a group that created a payment gateway to allow e-commerce
businesses
to accept Ethereum for their products and services. Bulit using Node.js and
Typescript, this project
also includes a demo web application, an online wheat seller, built using a Python and
Tornado backend.
or3lib is a problem-solving rig which contains a collection of Operations Research algorithms/methods implemented used R and Python. The algorithms/methods include:
All an Experimenter has to do is enter the objective function and constraints of a problem into an input file. A scanner reads the problem input file, and converts the problem into the appropriate Python expression for execution of a selected Operations Research algorithm/method.
Othello, is a variant of Reversi with a fixed initial setup of the board. It is a strategy board
game for two players, played on an 8x8 uncheckered board.
This project invovled building an Othello smart player in C using MPI to split
computations amongst
multiple processes. The program makes use of a minimax algorithm supported with alpha beta
pruning to make the smartest move ('smart' as defined by an evaluation function)
at every stage to ensure that the smart player ends the game with the most pieces.
RUDP is a reliable form of UDP, meaning it guarantees delivery of packets like Transmission Control
Protocol(TCP). RUDP makes uses of UDP to transfer packets but uses TCP to ensure receipt by the
receiver.
This project explored an implementation of RUDP in Java using a client-server model. The simple,
clean and elegant user interface was built with JavaFX.
WingWing is a Twitter clone that I built with a group of friends using a Python and Flask backend. Since we were dealing with the social data of connected Users, we stored the User and tweet data in a Neo4j, a graph database.
Twoduko | Robots vs. Cats | Sudoku Solver using Graph Theory |
Football Prediction Environment | SIMPL Compiler | Floating-point addition in Assembly |
Malloc implementation in NASM | Concurrent Bank Transaction Execution System | Client-Server: Chatroom |
NAT Box Simulation | Local Area Voice over IP Application | Image-to-text generation using Generative Adversarial Networks(GANs) |
Generating a series of images with GANs and Evolutionary Algorithms | Hackthedegree: A Tutoring website | Maze Solver |
Gertes Creche: Website for a Non-profit Organisation | MovingMaze: Multiplayer Maze Solving Game | Process Scheduler |
Particle Swarm Optimization(PSO) Hyperparameter Tuning | Clustering Data using an Ant Algorithm | MyFlounder: A Timesheet and Tracking Application |
Decision Tree and k-Nearest Neighbour Sensitivity to Data Quality Problems | Academic Publication Parser | Mini-Batch Training using Dynamic Meta-Heuristics |
Static Analysis with Java Pathfinder | Travis Owes Roger: A Peer-to-Peer Bill Splitting Application | An Ensemble-based Breast Cancer Predictive Model |
GMM, k-means and HMM Experimentation Rig | Scientific Computing Bash Marking Preparation Script | Web Scraper: Google and Facebook |
Image Classification using Convolutional Neural Networks(CNNs) | Image Classification using Linear Dimensionality Reduction and Feature Vectors | Computer Vision: Reconstruction and Cameras |
Edge Detection and Image Stitching | Digital Image Processing: Transformations, Filters, Thresholding | Image Enhancement and Compression |