Educational Technology

TeCanal was a student-run 501(c)(3) nonprofit organization that aimed at providing STEM education and technology resources to underserved areas in Baltimore City. I served as the CTO, CEO, and Director of Technology before the organization was dissolved.

Speedy Math

In October 2016, as my first foray into making educational games, I created SpeedyMath, an customizable math problem game. It started out with only the "Race" mode, where you had to answer as many questions you could in one minute. However, then I added "Practice" mode (later called "Infinity" mode) where there was no time limit, so that students could do math without the pressures of a time limit, more akin to doing a worksheet.

Math Slayer

About a month after first developing Speedy Math, I wanted to create an engaging math game that did not rely on time pressure, as that could stress some students out, making them answer incorrectly. Thus, Math Slayer was born, where each correct answer inflicts damage to the monster character, and an incorrect answer causes damage to the player, until their HP runs out. It started out as its own program, but later on got folded into the Speedy Math umbrella as "Survival" mode.

TeCanal Volunter Portal

The first version of the TeCanal Volunteer Portal (TeCanal Driver) was a MVP of a carpool registration application that I adapted from a hackaathon project that involved Firebase and Angular.js. For each outreach session, a driver would add their car, which would has their name and the number of seats in their car, which allows that number of volunteer signups directly into their vehicle. As time went on, I was able to add more resources about volunteering such as pre-filled waivers/volunteer applications, as well as pages that outlined the reasons why you should volunteer for TeCanal, etc.

Type Racer / Type Shooter

In late 2016, following from success of using Speedy Math at TeCanal STEM tutoring sessions, I knew I also wanted to create some kind of typing game. The computer we were using were low-powered and also there was no internet connection at the centers we were tutoring for, so making our own typing game that could run off an HTML and JS local file seemed like the logical move.

Binary Explorer

Speedy Math and Type Shooter were great games with educational value, but they didn't really teach anything, they only allowed for practice of already learned concepts. For this reason, I created Binary Explorer, a way for students to learn about Binary, especially its connection with ASCII. This game was later improved upon by a TeCanal Intern to add a "Story" mode.

Meme Maker / Webcomic Creator

In March 2017, I discovered Mozilla's X-Ray goggles project, as well as some of their other development activities. This made me recreate one of the lessons about meme-making with a live-reload editor built with CodeMirror. Building on the success of Meme Maker, I made Webcomic Creator shortly after, loosely inspired by Comic Life. This was used in our Creative Coding summer camp that we ran with Creative Alliance.


This is an application that was created, but shortly thereafter retired after we decided that we wanted to go in a different direction. The idea was that we wanted for students to be able to earn points to reward good behavior, of which they could then spend for rewards/privileges at a later time. It had a quick interface for students to add/remove points, a leaderboard, and a shop system that would allow students to "purchase" their rewards. While I still stand by this as a good idea, the delayed nature of the gratification of this program didn't produce the results that we hoped.

The Sandwich Algorithm

Inspired by the classic Computer Science activity where you have to instruct someone how to make a sandwich, I wanted to make a coding game that captured that basic premise. I got to building out a JavaScript API and HTML/CSS components for the game, but I never really got around to fully implementing it, due to scope creep and my ideas slowly getting larger for it. I wanted it to be like you were a head chef at a restaurant, and you would be instructing other cooks on how to make sandwiches. You would create code to procedurally make this sandwiches, and the levels would eventually get to use control structures like if-statements and for-loops. However, I never really figured out the game progression and ended up abandoning the project.

AR Turtle

This application was a fun idea in practice, but I never really got around to fully implement it because it seemed like a decent amount of programming would be needed for a mediocre payoff. The idea was that the application would be able to access the webcam data, and then with code, the students would control the Turtle (much like Logo). The Augemented Reality portion still appeals to me, but I think that the amount that students could actually do with Turtle would be pretty limited. If it went the way Vidcode I think that it could be something of promise.

Kids Corner

In April 2018, in an effort to consolidate STEM education resources, I created the TeCanal Kid's Corner. It pulled together all the games I worked on previously, and also added a Free STEM Library. This was a collection of Creative Commons or Public Domain STEM books that I found and had download links for students and their families to use. In the Summer of 2020, we had a Software Engineering Intern program that was able to add new features to my old games, as well as add brand new ones.


In July 2019, I began the year-long development of a JavaScript learning tool. My aim was to decouple JavaScript from HTML/CSS, and instead allow the user to have a environment to receive instantaneous visual feedback while being able to be creative while focusing on JavaScript syntax and concepts. To date this is the TeCanal project that I am most proud of.

Syntax Tutor

In June 2020, as a result of developing Mosaic and thinking of its educational possibilities, I began familiarizing myself with the field of Computer Science Education. Syntax Tutor was the first program in a series of projects that I wrote with the intent to help students practice or learn Computer Science, particularly JavaScript. Syntax Tutor works by showing examples of correct or incorrect syntax examples in order to improve students recognition of syntax errors.


Parsons2Play is actually built on top of Mosaic, and my goal was to combine the work of Petri Ihantola, Ville Karavirta (2011) with js-parsons, and Evelyn Stiller (2017) with Program2Play. Parson's Puzzles are about rearranging code blocks to produce the correct result, and Program2Play is where the student has to implement a small part of a game in order to play it, thus providing a goal-oriented programming learning environment. In my case, they are rearranging code blocks with Mosaic code in order to complete a feature within a larger game, and then be able to play it.

Trace Tutor

When I was reading the 2020 ACM Proceedings that were free online due to the COVID-19 Pandemic, I ran across Ruixiang Qi and Davide Fossati. 2020. Unlimited Trace Tutor: Learning Code Tracing With Automatically Generated Programs. I thought it was a really great idea, as this comes up in AP Computer Science a lot, but also is an important skill to have. Unlimited Trace Tutor was only implemented in Java, so I wanted to make a version for JavaScript that also ran on the web. Trace Tutor and Syntax Tutor share a lot of the same UI components and functionality, so it was a pretty straightforward project to implement.

Interactive Video Cards

In September 2020 the COVID-19 pandemic had shut down schools and everyone was learning online, so I wanted to create an application that would allow for TeCanal to produce asynchronous learning content. Existing products like EdPuzzle were similar enough to this, but I wanted this tool to work on our own video content, or allow add-ons onto existing content made by others.