- Mobile
- Flutter
- Firebase
- Notion
- Agile/Scrum
View DropNote on GitHib.
DropNote: Building a File-sharing App for University Professors
Introduction
DropNote emerged from a Fall 2022 senior project, with the objective to create, build, and present a software product. We decided on a file-sharing app tailored for professors, at the recommendation of our professor who highlighted the absence of suitable platforms for secure and convenient sharing of lecture materials among professors across universities.
Development
Team Dynamics
We were a team of 6 CS students: a designer, 2 frontend devs, 2 backend devs, and myself—the team lead who flexed between all three roles as the project needed to meet certain deadlines.
Design process
The app went through several UI design iterations before we finally settled on the current simple-but-modern look. We regularly got feedback from professors around the university, which eventually drove us to the simple design that would enable less technical people to still be able to comfortably use the app.
Tech Stack
Given the diverse skill set of our 6-member team, we wanted to aim for tools that were mostly familiar and easy to pick up. We settled on Flutter since half the team was familiar with declarative UI frameworks like React/React Native, and all of us were very familiar with object-oriented languages. Firebase was a natural pick for our backend given how well it integrates with Flutter, fortunately, most of us had plenty of experience with Firebase.
Project Success
DropNote culminated with a successful live demo at the end of the semester, showcasing a range of features. Notable functionalities included seamless file viewing and uploading, university and professor profiles, and a comprehensive search feature capable of filtering by users, schools, tags, file names, and more.
Lessons Learned
-
Understanding our target audience: Early identification of our target audience enabled us to focus our efforts to deliver a tailored product for professors. Through close collaboration with potential users and iterative design, development, and testing, we created an experience that resonated well with professors.
-
Project Management: We used Notion to set up a Kanban board with well defined issues to keep track of our progress. This allowed for focused feature development and effective collaboration, ensuring impactful contributions from everyone involved.
-
MVP Development and Feature Prioritization: Careful consideration of essential features was crucial in building the MVP. Prioritizing core functionalities allowed the team to meet deadlines and deliver a streamlined, functional version of the platform.