THIS IS THE SHERIFF

Ibra Sururu

Bridging the code and commerce gap.

Sample some projects of the I have built

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.

Avengers Assemble Hackathon website

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

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: Secure Peer-to-Peer File Sharing

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.

Evolutionary Algorithm to Evolve Picture Mosaics

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.

Ethereum Payment Gateway

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

or3lib is a problem-solving rig which contains a collection of Operations Research algorithms/methods implemented used R and Python. The algorithms/methods include:

  • Fibonacci Search
  • Steepest Descent Search
  • Conjugate Directions Search
  • Newton Search
  • Zoutendijk
  • Wolfe
  • Hooke Jeeves
  • Simplex Method

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

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.

Reliable User Datagram Protocol(RUDP)

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

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.

Other projects I have built

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


Go back to Home Page