Projects
The projects are listed in no particular order:
Some – 2024 (WIP)
This project is a tree-walking interpreter I am building to see, understand and appreciate what happens when we run high-level programs. The proposed features include, but is not limited to:
- Simple syntax.
- Variable bindings.
- Data types: integers, booleans.
- Arithmetic expressions.
- Built-in functions (yet to be decided*).
- First class functions.
- Recursion.
- Higher order functions.
- Closures.
- Collection data structures: strings, array, hash tables.
Days – 2024
One of the favourite tools I built. It has all the features of a fully functional cli application.
Purpose: Calculates the number of days spent on earth.
Features:
- Has a config file to customise application.
- Has command autocompletion script for bash, fish and zsh shells.
- Allows customisation via cli interface without needing to edit the config file.
new-cpp-proj – 2024
I was tired of running mkdir
and touch
commands during every lecture, so I
decided to automate the whole process to save time.
The end product was a tool that simplifies
Choreflow API – 2024
I utilised REST principles to design an API that allows users to interact with a chore management system. I thoroughly documented the API to follow the OpenAPI Specification standard.
The purpose of this project was to learn how to develop APIs in Go.
Self Reference – 2021
When I first came into contact with programming, I had no device to practice with so I ended up writing everything in a notebook. To preserve the contents in the book, I built self-reference.
There was not much to learn here since it was a basic static website with html, css, and markdown. Nonetheless, one valuable skill I learned in the process was how to host websites using firebase.
Simple Web Server – 2023
I built a simple web server to test how http requests and responses work in Go.
Codereviewshop – 2021
In order to keep my life organised, I developed a website to allow my classmates to book a session with me to guide them through various software related tasks. Some of the services I rendered on codereviewshop included:
- Mentoring
- Pair programming
- Teaching programming languages
- Teaching problem solving
- Teaching how to use software tools like the command line and git.
See project on Github
Visit website
Codereviewshop’s Blog - 2022
Codereviewshop blog is a subsystem of codereviewshop were I shared my lessons and advice on my programming journey. It was fun building it using hugo. However, I migrated all the blog content to my official substack.
See project on Github
Visit website
Calculator – 2020
I built this cli application when I began learning python. Some of the features of the calculator include:
- Arithmetic operations
- Trignometric operations
- Determining integer identity (odd or even)
- Solving quadratic equations
- Calculating factorials
- and 2D vector arithmetic.
Item Check Counter – 2021
This project arose from a frustration generated by having to wait for a shopkeeper to go through their notebook to find the item I was purchasing. I developed Item Check Counter to solve the problem I faced that day. The sad part was, I built the app on my phone at that time and never showed it to the shopkeeper – it collected dust on github since then.
The application allows you to keep track of items in stock, add or remove items, produce receipts, automated stocks update and saving of daily transactions to files for easy monitoring of day to day transactions.
IRB Tracker – 2024
The Institutional Review Board (IRB) Tracking System is a web-based application designed to streamline the process of submitting, reviewing, and managing research projects within an academic institution.
Though I learned a great deal using htmx and the concept of hypermedia as the engine of application state, I only did the bare minimum to get my marks for my university course. It is far from production ready.
Todo App – 2021
This was the first project I built to learn react. In the process, I learned about the following:
- Javascript promises and asynchronous communications.
- Setting up github actions.
- How to use firebase hosting as well as cloud store database.
- Had my first introduction to bootstrap css.
See project on Github
Visit website
Voting System – 2024
An incomplete side project to develop a fault tolerant voting system for my university. However, I discontinued the project when I learned it was not desired.
Hackathon Project: A Portfolio Site – 2023
This project was my first attempt at participating in a hackathon. It was 6/10 experience because the demands of the project were not clear enough till the winners were announced.