This is the user-side version of the project, without solutions.