Scroll down Scroll down

Scroll + Drag

Welcome

Countdown

BrainF*ck
Interpreter

Number Sets
(Sudoku)

Interactive Map UI

ROS Robot
Patroller

Pacman

Evil Wordle

Shogun

Team Management
Site

String Construction

Derivative
Regex Matcher

Foodfa

InfOS

Team Management Site

Django, CSS

As the front-end developer for a collaborative task management platform, I contributed to creating a web application designed to streamline team coordination and task tracking. Our application, built using Django, offers a suite of features aimed at enhancing productivity and facilitating collaboration among team members.

Secure Login System: Implements advanced security measures for user authentication and authorization, ensuring data protection and privacy.
Account Management: Intuitive interface for account creation, login, and profile management.
Collaborative Workspace: Enables users to form teams
Task Assignment: Users can create, assign, and delegate tasks to specific team members,.
Personalized User Dashboard: Each user gets a personalized dashboard, providing a centralized view of their assigned tasks and activities.
Team Dashboard: A dedicated team dashboard offers an overview of ongoing projects and tasks, enabling effective coordination and task tracking.

Countdown

C++

GITHUB REPOSITORY

The Countdown solver is crafted to tackle the and solve Countdown problens. This solver automates the process, finding solutions that bring you as close as possible to the target number, using addition, subtraction, multiplication, and division.

Automated Solution Finder: Explores possible combinations of the given numbers and operations to find the best solution.
Efficient Calculation: Optimizes the search process to efficiently handle the vast space of potential solutions, ensuring quick response times.

ROS Robot Patroller

ROS, Python

GITHUB REPOSITORY

Features a TurtleBot3 robot programmed to enforce specific house rules during parties, ensuring a safe and orderly environment. It autonomously navigates rooms A, B, and D to monitor and enforce two main rules: no humans in the kitchen (Room D) and preventing the family cat and dog from being in the same room.

ROS Service Integration: Enables the robot to move across designated rooms, ensuring flexibility in patrol routes.
Actionlib Server: Facilitates decision-making based on action specifications, including rule enforcement actions.
SMACH State Machine: Manages the robot's tasks, from patrolling and navigation to rule enforcement, using Text-to-Speech for interactions.
YOLO Detection: Employs the YOLO algorithm for real-time detection of rule violations during navigation, triggering immediate enforcement actions.
Feedback and Logging: Provides real-time feedback on rule violations and logs the count of infractions for review.

Derivative Regex Matcher

Scala

GITHUB REPOSITORY

The Brzozowski Derivative Regular Expression Matcher is a sophisticated Scala-based tool crafted to revolutionize text pattern matching. By employing the advanced concept of Brzozowski's derivatives of regular expressions, this matcher offers efficiency and accuracy in searching, editing, and analyzing text patterns.

At the heart of this matcher is the principle of Brzozowski's derivatives for regular expressions. This method focuses on dynamically recalculating regular expressions as derivatives concerning specific characters.

Evil Wordle

Scala

GITHUB REPOSITORY

This program is coded to select the most difficult words for players to guess in wordle. By analysing a list of potential words and the player's guesses, the Evilizer calculates the difficulty of each word to ensure the player faces the most challenging game possible.

Strategic Word Choice: Employs an algorithm to choose words that maximize difficulty, making the game significantly harder to solve.
Custom Difficulty Levels: Words are selected based on their calculated difficulty scores, ensuring that each game is as evil as the player can handle.
Obscure Letter Prioritization: Analyzes the frequency of each letter in the words list, giving preference to less common and therefore more obscure letters in the word selection process.

Pacman

Pygame, Python

GITHUB REPOSITORY

PyGame rendition of the classic game of Pacman. CLICK HERE FOR DOCUMENT.

Brainf*ck Interpreter

Scala

GITHUB REPOSITORY

This project introduces a Scala-based interpreter for Brainf***, an esoteric programming language known for its extreme minimalism and the challenge it presents to programmers.

Minimalistic Instruction Set: Embraces Brainf***'s original design philosophy, focusing on its eight-character instruction set.
Memory Management: Implements efficient memory cell manipulation and pointer movement, allowing for the execution of Brainf*** code.
ASCII Output: Supports ASCII character output, enabling the creation of text-based outputs from Brainf*** programs.
Complex Program Examples: The repository includes examples of sophisticated Brainf*** programs, such as generators for the Sierpinski triangle and the Mandelbrot set, showcasing the language's capabilities despite its minimalism.

Interactive Map UI

HTML, CSS, JavaScript

Dynamic Interactive Map UI project transforms traditional web navigation into an immersive, game-like experience. Built using HTML, CSS, and JavaScript, this interactive map leverages SVG technology to create a detailed, customisable map interface. Users can zoom in and out through scrolling, drag to navigate across different sections, and click on specific areas to uncover more information or navigate to other pages. This project is designed to enhance user engagement by providing a visually rich and intuitive interface that goes beyond conventional website navigation.

Number Sets (Sudoku Solver)

C++

GITHUB REPOSITORY

NumberSets is a captivating number puzzle game, reminiscent of Sudoku, but with its unique twist. Played on a traditional 9x9 board, it distinguishes itself with a mix of white and black cells, some of which are pre-filled with numbers. The essence of the game lies in filling the empty white cells by following a set of rules that challenge the player's logical reasoning and puzzle-solving skills.

The board's design divides rows and columns into compartments, each defined as a series of uninterrupted white cells. To successfully complete the puzzle, players must adhere to the following guidelines:

Compartment Filling: Each compartment must be filled with a non-repeating and unordered set of numbers ranging from 1 to 9. The sequence of numbers within a compartment does not need to follow any particular order, offering a unique challenge in strategising moves.
Number Uniqueness: A number must not repeat in any row or column, maintaining the traditional Sudoku principle of uniqueness.

This software solution automates the process of filling the board's empty white cells, strictly adhering to the game's rules.

String Construction

C++

GITHUB REPOSITORY

StringConstruction is a utility designed to calculate the most cost-effective method of constructing a target string from scratch. The utility offers two operations: appending a new character to the string for a fixed append cost, and cloning any existing substring to append for a specific clone cost.

Dynamic Programming: Employs dynamic programming to efficiently explore possible construction strategies, reducing computation time by avoiding redundant calculations.
Backtracking: Integrates backtracking algorithms to determine the most cost-effective path through construction possibilities.

Shogun

Scala

GITHUB REPOSITORY

This Shogun move program is designed to determine valid moves for each piece on the Shogun board, ensuring all game rules are followed. The program evaluates potential moves for each piece, identifies legal destinations on the board, and ensures that the King is never moved into a position where it would be endangered.

Foodfa

React, NodeJs, Jest, MongoDB

This food tracking app is designed to help users set and achieve their calorie and macronutrient goals. It incorporates gamification, rewarding users for completing goals. The app is compatible with both Android and iOS, making it accessible to a wide range of users who are looking to stay motivated and track their nutrition effectively.

InfOS Operating System

Linux, C++

This project is focused on maintaining and improving a basic operating system called InfoOS. This project provided hands-on experience with operating system concepts and advanced C++ programming techniques.

Page Fault Handling: Implemented robust page fault handling mechanisms to ensure the operating system could efficiently manage memory access errors. Designed algorithms to identify and resolve page faults, improving system stability and performance.
Lazy Allocation: Integrated lazy allocation techniques to optimize memory usage. Ensured memory is allocated only when necessary, reducing the overhead and enhancing system efficiency.
Stack Tracing: Developed stack tracing functionality to help debug and analyze program execution. Implemented features to capture and display call stacks, aiding in the identification of errors and performance bottlenecks.

Compass Compass Compass