Projects

Image of NoteToScreen
NoteToScreen
Go
C++
Java
JavaScript
HTML
CSS
A website that lets you save paper notes in the cloud, share them with others, and access them anywhere.

What is it?

NoteToScreen is a website that lets you quickly, easily, and securely save handwritten notes online. Once they’re online, you can access them from anywhere, share them with others, search for text, and collaborate in real time!

Why was it made?

I had realized that, in my classes, taking notes by computer was not a very effective strategy for me, but writing notes out inevitably meant that I would lose or somehow manage to destroy them. I wanted some way of getting the best of both worlds, and so NoteToScreen was born.

What am I proud of?

One of the challenges with NoteToScreen was the live collaboration feature, which required learning about WebSockets and how to integrate them with my programming language of choice, Go.

Image of MyHomeworkSpace
MyHomeworkSpace
Go
JavaScript
HTML
CSS
Open source under the MIT license
An online planner that lets you easily stay on top of your homework and tests. It synchronizes with the cloud, so you can access it anywhere you have an Internet connection.

What is it?

MyHomeworkSpace is an online homework planner I developed with some friends. You can save your homework and other events in the planner, and it becomes accessible anywhere you go. It also connects with my school’s scheduling system, automatically pulling your class schedule data and displaying it side-by-side with events that you add.

Why was it made?

I wanted to see if it was possible to take the paper planner the school offered and digitize it, like I digitized my notes with NoteToScreen. There had already been an Online Planbook created by another student, but I wasn’t happy with the features it offered, so I decided to make my own.

What am I proud of?

Since its start, MyHomeworkSpace has grown to serving over 300 members of the Dalton community, and hopefully soon will be expanding to serve people outside of Dalton.

Image of DaltonTab
DaltonTab
JavaScript
HTML
CSS
1st place at TigerHacks 2015 hackathon
Open source under the MIT license
A replacement for your new tab page that provides you with at-a-glance information about your upcoming classes and homework.

What is it?

DaltonTab is a replacement for your new tab page, developed by a bunch of Dalton students, that lets you easily view your homework, schedules, classes, and more! It automatically retrieves your data from MyHomeworkSpace and other Dalton sites, and even brings you a different background every day!

Why was it made?

Originally, it was a project, started by @nywillb, for the TigerHacks 2015 hackathon hosted by my school.

What am I proud of?

While it was initially a project intended specifically for the hackathon, it is a useful product and we’ve been able to maintain and expand it since then, releasing several updates containing significant feature improvements, something which I don’t think is the case for many hackathon projects.

Image of tasky
tasky
Java
HTML
CSS
JavaScript
Open source under the MIT license
A minimalistic to-do list website and Android app, both of which use MyHomeworkSpace to synchronize their data.

What is it?

tasky is a minimialistic service that let you keep a series of to-do lists. All of your data is stored in MyHomeworkSpace, meaning that the apps themselves are entirely client-side and just need you to grant access to your MyHomeworkSpace accounts.

Why was it made?

There were two main reasons I wanted to create tasky: first, I needed a to-do list app, and second, it served as a test of the MyHomeworkSpace API. By building a relatively functional app, as simple as it may be, it made sure that there was nothing missing in the API and verified that it is possible to build something useful on top of MyHomeworkSpace.

What am I proud of?

The apps themselves can rely entirely on MyHomeworkSpace for authentication and storage, meaning that they do not have nor need a backend, and can synchronize data between devices very easily. In addition, there were little to no changes necessary on the MyHomeworkSpace side of things, again proving that the API is pretty complete in terms of building apps to interact with MyHomeworkSpace.

Image of CoursesPlus
CoursesPlus
JavaScript
HTML
CSS
Open source under the MIT license
Archived project (No longer useful, as Courses has since been replaced)
A Google Chrome extension that adds features and improvements to the (now defunct) Courses website my school used.

What is it?

CoursesPlus was a Chrome extension that took the Courses website, which my school used for teachers to post homework and assignments, and extended it. The extension provided extensive customization options for almost every page on the site, and also added several useful features, such as the ability to hide events.

Why was it made?

I wasn’t very happy with the look and feel of the Courses website, so I made some tweaks to the CSS, and realized that I could package these tweaks up as an extension, allowing me to easily distribute them to other students.

What am I proud of?

While it has become useless with the death of the Courses website, CoursesPlus had a long lifetime, with built-in analytics showing that, during its life, the extension’s code was cumulatively run over half a million times.

htstools
C++
Open source
A collection of tools to perform certain types of analysis on BAM files, which contain sequenced DNA data.
gbasm
Go
Open source under the MIT license
An assembler for Gameboy Color games. Translates assembly code from text files into machine code that can be run by the Sharp LR35902 processor in the Gameboy.
flash_programmer
Arduino
Open source under the MIT license
An Arduino-based programmer for the SST39SF010A flash memory chip.
slack-status-bot
Go
Open source under the MIT license
A bot for Slack that automatically sets your status to the class you're currently in.
smsapi
Go
Open source under the MIT license
Server that exposes the SMS functionality of the SIMCom SIM800 cellular modem to the Internet, allowing you to write applications that connect to it.