Learn to program was designed to be an interactive online learning application a la code academy, try ruby, and git online. Its development revolved around the principle of gamification, reward, and encapsulation. The material was based on an open-source book by Jonathan Bartlett, Programming from the ground up, a tutorial of programming, OS theory, and architecture through assembly. The book's approach to these low-level topics was enticing, and I felt it would be useful as an online course. I endeavored to gamify the material in a way that would promote completion and eagerness to continue.