Projects
I've worked on many projects. Below is a list of the most significant.
seizer
A library for making cross platform games in Zig.
- Allows games to target Linux and Web Browsers
- Implements a common abstraction for fetching game assets
- Provides cross platform way to acquire OpenGL ES or WebGL context
Blockstacker
A clone of the popular blockstacking game
I worked on this project as part of a two person team. The game was built using Zig and seizer.
- Ported Blockstacker to run on the web via WebGL and WASM
- Ported to run on the RG351, a handheld gaming device
- Setup continuous integration to deploy master branch to web
- Created menu screens (main menu, pause, etc.)
Game of Life
Conway's Game of Life
I built this project using Zig and HTML5 canvas. I had a week to make it, and I made it as awesome as I could!
- Zig code was compiled to WASM
- Used custom bindings to the Canvas API to draw everything
- Implemented several features to improve the user's experience editing cells
- Click and drag to draw line of cells
- Copy and paste templates of cells!
- Implemented simplified grid and flex layout to improve look of the GUI
Hexagonal Chess
A networked multiplayer hexagonal chess game
I built this project using Zig and the zig-gamekit project.
- Implements GliĆski's hexagonal chess variant
- Play with a friend! I added multiplayer using TCP connections to let you play across the internet.
- Contributed to the zig-gamekit library, adding functions to the Vec type and support for text input
- Implemented text rendering using the AngelCode font format
Street Smarts
Marketing page for a web app to make USSD sites with simple Graphical User Interface
I worked on Street Smarts as a Fullstack Web Developer.
We used Node and Express on the backend.
On the Frontend we used React.
- Street Smarts gives the user estimates of the cost and carbon emissions of a selected car
- Created a backend that pulled data from Postgres and another REST API
- Implemented custom SVG widget to display carbon emissions
- Pair programmed with other developers
augr
A command line application for tracking time
Built using Rust. It stores it's data in a directory of plain text files. Data synchronization is acheived with Syncthing.
augr
is designed for my own use, and I use it almost everyday- Rust's strong static type system reduces the number of bugs
- Realized that a simpler format would serve
augr
's purposes better
Snake Game
Inspired by the classic snake game, this project frees the snake from the grid
Built using zig.
- Compiles to WASM uses WebGL to render the game
- Uses HTML and DOM manipulation for GUI
Project Checklists
Create checklists to make sure you complete every step of a process
Built using React.
- Create, remove, and edit the steps of the checklist
- Data is stored locally on the device
Dev Desk Queue
A tool to connect helpers with students who have a problem.
Built using React.
- Created pages for viewing issue list and issue details
Sauti Studio
Marketing page for a web app to make USSD sites with simple Graphical User Interface
Built using HTML and LESS.
- Created and designed the marketing pages
- Site is responsive