Originally a weekend project from AP Computer Science in 2010.