CompSci 390
Fall 2025
Modern Software Development

Final Project

All that we ask is that you build something of interest to you, that you solve an actual problem, that you impact education, or that you change the world. Strive to create something that outlives this course. — from Harvard's CS50 Final Project (modified to reference education)

We see a lot of solutions without problems — anonymous Venture Capitalist about reviewing Startup proposals

Work in teams to create a basic app for a client at Duke:

Focus on a Minimum Viable Product (MVP): building your app incrementally, in small manageable steps, that keep things simple, and allow you to learn about the impact of your ideas.

Your final grade will be determined subjectively based on how consistently you worked on the project and how useful the result is viewed by your client.

Weekly Progress

Each week push new app features to the main branch of the provided final_TEAM repository hosted in the course's Gitlab group.

You should endeavor to make what work you do as visible as possible (i.e., follow the Open-Source Coding Community's maxim: “Keep a history: if it isn't public, it didn't happen”).

Additionally, you should be prepared to demo your project during any class meeting.

User Test

Test your app with at least one person, ensuring they understand its purpose, context, and what kind of feedback would be helpful. Summarize the results in a Markdown file named Wireframe_Feedback.md, that includes the following:

Final Submission

Use GIT to push your implementation to the main branch of the provided final_TEAM repository hosted in the course's Gitlab group:

Final Presentation

During our final class meeting, your team will have 16 minutes to present you app. Everyone on the team must present some of the content, including at least:

Resources

Giving demos is a skill you can work on!