Doc-It
A productivity app for busy students to organize their schedule and meet their goals
Problem Background
To be a student means dealing with managing tasks and events for your day-to-day life. While there are many physical and digital solutions out there, it can be overwhelming trying to find a way to balance everything on your plate on top of keeping track of your to-do lists and schedule.
With doc-it, we aim to reduce stress and anxiety by providing a space where important events and tasks can be documented (or doc’d) in the one place that students often spend the most time on: the web browser.
Research Insights & User Pain Points
To validate the problem, we interviewed 5 students from various majors and class years.
These were some of our research findings that we found:
- Student value calendars and to-do lists more than they do email
- Students spend a large part of their day looking at a computer screen
- Students find that completing tasks from their to-do list feels unrewarding and unengaging
- Students are often overwhelmed by too much content in their calendars and to-do lists
- Students want to feel organized but have trouble keeping up with tasks and events due to lack of time and lack of motivation
- Students want to avoid negative feelings of anxiety when it comes to school related tasks and events
- Students enjoy customizing and color coding their to-do lists and events in their schedule
Feedback
Our research majorly in the form of user interviews validated the need for such a tool which is easy to use and students can find all their productivity needs in one app thereby decluttering their online space.
So how do we help students feel more at ease and successful in their daily life while allowing them flexibility? With the data that we collected from user interviews, we narrowed down our scope and started devising a plan to answer this question.
Solution Explanation
A possible solution is a way to have a centralized place for tasks, calendars, email management, and events where students can see the relevant information with respect to their tasks and is very easy to access for students. Also, the idea would be to have an online tool as most students would spend their time online for their work.
For our solution, we decided we would have just one tab dedicated for all the productivity needs. We wanted to keep the tab simple, straightforward and easy to use so that the users don’t spend time trying to figure out the app. In addition to that, we decided that we would not keep any login requirements for the app to keep things simple.
See below for our final feature list and the value it provides to the users.
Design Process
Sketches
After our first iteration of low-fidelity sketches, user testing was conducted on several students. What we found during this iteration was that clarity and visual cues was key in understanding what was happening on the page.
Low-fidelity digital wireframes
All of the feedback was then incorporated into our second iteration of design. Here, we found that students were very clear on how to progress through each task and thought it was straightforward and familiar.
First digital implementation of design
At the same time as testing the low-fidelity digital wireframes, we had also conducted user testing on the first live version of our app. This was a total 180 from the low-fidelity mock-ups test as students felt the “create event” modal was too small, they wished there was some sort of notification or pop-up that alerted the user about deleting an event, and the to-do list entry was confusing to figure out.
Second implementation of design
The second implementation tied the two interfaces together and made it a cohesive page. Once again, we tested again on another student who was vocal about what she liked and didn’t like about the app. For example, she rarely if ever uses a to-do list but is obsessive over her calendar and wanted the ability to hide the to-do list section and make the calendar bigger. She also wished, similar to previous users, that the deleting and updating event actions were more involved processes to make sure she’s not overriding the events on accident.
Final High-fidelity Figma design
This final design incorporated much of the feedback that we received through each of the user tests.
- Clearer button actions and labels
- Better hover interaction for dragging and rearranging to-do list items
- Ability to toggle the interface to see only what you want to see
- Larger event modal
- Customizable to-do lists
- Pop-up notification for actions related to calendar events
Implementation Details
Technical implementation
- Currently it is hosted as a web app on Netlify. We are also turning it into a Chrome extension, which will allow users to quickly access our app by opening a new tab.
- Our tech stack is HTML/CSS/JS/React/IndexedDB/Webpack/Netlify/Github
Technical Challenges
The hardest part came at the end, when we were turning our React project into a Chrome extension. This was not something we had done before, and because our project needed a more complex, non-vanilla React starting template, we had to experiment without the guidance of good tutorials.
For scaling Issues:
- IndexedDB can handle large datasets and many saves to the database, so it is unlikely to run into scaling issues.
- Our web app would need a large number of concurrent users (at least 500+) before scalability becomes an issue. Furthermore, as an extension, our app will exist locally on the user’s browser, eliminating the need to worry about scalability.
Some key developer takeaways are to test everything. Test if your proposed tech stack will work the way your product is planned (e.g. we planned to create a Chrome extension, which does not work with a backend server); test if your designer’s ideas are feasible (i.e. can you code what they designed). And test your MVP on users ASAP. Even if only the design or functionalities part of the MVP is done, test it on people!!
Future Steps
We will continue the development of our app but with lesser bandwidth on the team. As an MVP, the app is designed to be a web app but there’s a huge inclination towards making a chrome extension from the current version as the usability of the app is best suited as an extension.
We learned that every user has their own way of dealing with the app. Some users would like the blue color for their tasks, some won’t. For development of the app there were some difficult decisions made like not integrating the google calendar for now as the app serves as a bridge from using easy local apps like sticky notes to powerful apps like google calendar.
All in all, it’s important to keep the product vision intact and improve the product based on the feedback that you get.
Learnings
Product Manager Learnings:
Amit Sehgal
Co.lab experience was very helpful to understand the nitty gritties of being a product manager. It was also very much validating for me as a career choice. My top two learnings are:
- Crystal clear vision and communication with teammates.
- Empathy. Not just with the users, but with everyone who’s involved in the product development process.
Designer Learnings:
Kelly Lin
Being able to work together as an actual team was the most important takeaway from the Co.Lab experience. I’ve worked at start-ups where my role as a designer was talking to myself, consulting people who weren’t necessarily the right person to talk to and it felt so lonely and like I was on the wrong path. Collaborating on a product from start to finish and having that open communication along the way with Amit, our PM, and Long and Hugh, our developers, really reignited my passion for designing.
Designer Learnings:
Jo Sturdivant
- Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
- Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
- Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.
Developer Learnings:
Long Vuong
I had the chance to truly Co.Lab(orate) with my group, I had never experienced this level of involvement, communication, and teamwork before. It was a pleasure to work with my group because everyone was so invested in our project, as well as being able to learn from everyone and grow in our respective roles.
Developer Learnings:
Vanady Beard
&
As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.
Developer Learnings:
Stephen Asiedu
&
As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.
Developer Learnings:
Hugh Zhou
&
It is a great experience to learn how to work a development team, collaborate with product manager, designer, and other developers. Then, I learned a lot in project management, for example, how to make a whole project into many small tasks, and arrange the estimated time and assignee for each task.
Developer Learnings:
Maurquise Williams
&
- Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
- Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
- Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.
Developer Learnings:
Jeremiah Williams
&
All in all this experience was very awesome I learned that in coding with others being transparent is key
Developers Learnings:
Justin Farley
&
I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.
Full Team Learning
Many of us were working in a team developing a product end to end for the very first time and it was an enriching experience knowing how the product progresses over time with inputs from various stakeholders.