I make all kinds of things.

It is my personal philosophy that one learns best through practical application of principles. Thus, many of the projects posted here are my attempts at learning a new programming language, methodology, or other skill. I eventually hope to convert many of these projects into hands-on tutorials to help others learn. My featured projects are available here, but I have listed a number of them publicly on my GitHub profile.

Personal Projects

Coming soon: I intend to document and list projects I've created for personal purposes within the next couple of months. At the moment, though, I hope you enjoy the following professional projects.

Games and Entertainment

To improve my programming skills, I have created some entertaining things.

105,165 Unique Sudoku Puzzles

Open-Source

I made a program that generated 105,165 unique sudoku puzzles, each with only one solution. Categorized by level, this book has puzzles for everyone to last a lifetime. The puzzles were generated with the help of the Z3 SMT Solver and LaTeX.

Get Puzzles  View Source

Web Toys

In an attempt to learn the basics of JavaScript, I made a number of silly web tools. These generators and their descriptions are included below.

Divergent Thought Exercise

Open-Source

Come up with as many uses as you can for a random item to practice divergent thinking. This toy is entirely based around improving my skills with JavaScript.

View Demo  View Source

Note Naming Exercise

Open-Source

Practice naming musical notes as they appear on the screen. This toy is entirely based around improving my skills with JavaScript.

View Demo  View Source

Random Excuse Generator

Open-Source

Ever had to use an excuse to get out of an event? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.

View Demo  View Source

Random Headline Generator

Open-Source

Need a funny headline-style writing prompt? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.

View Demo  View Source

Random Insult Generator

Open-Source

Have an undying urge to burn a bridge? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.

View Demo  View Source

Writing Prompt Generator

Open-Source

Get the first sentence from a random Wikipedia page. This toy is entirely based around improving my skills with JavaScript and web scraping.

View Demo  View Source

Productivity Tools

To improve my website development skills and to help myself become more productive, I have developed a handful of simple productivity tools.

Pomodoro Clock

Open-Source

Stay focused with the Pomodoro method, with timing customized to my schedule. Currently only supports my own routine.

View Demo  View Source

Cleaning Routine

Open-Source

Work step-by-step through a cleaning routine to stay focused. Currently only supports my own to-do lists.

View Demo  View Source

Open-Source Philosophy

My projects are all open-source, and I do my best not to require proprietary software prerequisites. Open-source software is better for everyone, and providing my tools for free is my way of giving back to a community that has poured resources into teaching me.