My final project for Software Structures for User Interfaces (SSUI)