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