Project Work Best in Category 9 (Infocomm): TaskSync
Written by: Joshua Yam, Ng Chen-Xuan, Henry Low Cheng Hao, Teo Yu Ze Ashton (3A3)
Introduction
As students, we are all familiar with the frustration of keeping track of homework. With assignments scattered across platforms such as Google Classroom, Student Learning Space and Coursemology, alongside classroom homework boards and verbal reminders from classmates, staying on top of our workload can sometimes feel like a task in itself. While each platform serves its own purpose, constantly switching between them to check for assignments and deadlines can be unnecessarily tedious and overwhelming.
Recognising this common frustration, our team began to wonder if there was a way to bring all our assignments together in one place. This simple question became the inspiration behind Project taskSync, an application designed to help students organise, manage and keep track of their homework more efficiently.

Our goal was not merely to create another to-do list, but to develop a practical solution that addressed the everyday inconveniences faced by students. By combining features such as homework scanning, task sharing between classmates and a centralised calendar, we hoped to make homework management more convenient, allowing students to spend less time organising their assignments and more time actually completing them.
Process
We began by researching how students currently track assignments. Through primary and secondary research, we found that homework was scattered across e-learning platforms, classroom boards, messaging applications and word of mouth. After comparing existing tools such as Google Classroom, Notion and Todoist, we identified a gap: students still had to manually consolidate information from different sources. This led us to develop taskSync, a platform that combines tasks, deadlines and class updates in one place.
We divided the work across front-end development, UI and UX design, and back-end development. Flutter was used to build the application for Android, Windows and web browsers, while Firebase handled authentication, data storage and security. We developed the main interface, manual task entry, calendar, shared classes, task synchronisation and notifications in stages. Surveys and beta-tester feedback helped us identify usability issues and improve the application.
One challenge was implementing Google sign-in on Windows because the standard Flutter plugin did not support it. We solved this with a browser-based OAuth login flow. We also faced difficulties with OCR because homework boards and worksheets had different layouts and irrelevant information. The use of the Gemini API was especially interesting, as it helped interpret photographed homework and identify the subject, assignment and due date. However, the results still needed filtering and user review. We also fixed a Firestore security vulnerability by adding stricter access rules and join-code verification.
A memorable moment was seeing a photograph of a homework board become an editable task on the dashboard and calendar. Although not every planned feature was completed, the project strengthened our skills in Flutter, Firebase, OCR, AI integration and teamwork.
Outcome
Our team successfully developed taskSync, a cross-platform Flutter application available on Android, Windows and web browsers. The app brings students’ assignments together in one place, allowing them to sign in with their school Google account and add tasks by filling in a simple form, scanning worksheets or homework boards using OCR, or accepting tasks shared by classmates through class join codes.
All tasks are organised into Overdue, Today and Upcoming sections on a central dashboard, together with a built-in calendar which provides month and agenda views. An in-app notification feed also keeps students informed of upcoming deadlines and newly shared tasks. Together, these features provide a more organised way for students to manage their workload and anticipate possibly busy weeks.
However, some planned features remain incomplete. The system for automatically collecting assignments from e-learning platforms was yet to be implemented, meaning students still need to manually add assignments from platforms such as Student Learning Space. The calendar also does not yet recommend when students should begin each task, and notifications remain limited to the app itself.

Despite these limitations, taskSync meets its core functionality expectations: consolidating assignments from different sources into a single platform. While it does not completely eliminate the need to check multiple e-learning platforms, it provides students with a clearer overview of their workload and a more convenient way to keep track of their responsibilities.
Reflection
Working on taskSync taught us that building an app involves much more than writing code. Since our goal was to help students manage homework scattered across platforms, we had to consider users’ needs, not just whether the features worked.
We developed communication and teamwork skills by discussing responsibilities, coordinating tasks and updating my group when problems came up. We learned that dividing work is useful, but regular communication is just as important; otherwise, separately developed features may not fit together smoothly.
We also gained coding experience with Flutter and learned about debugging, connecting interfaces to stored data, and using optical character recognition (OCR) to turn photos of homework into editable tasks. We discovered that a feature that seems straightforward in theory can be difficult to make reliable in practice. For example, scanned text may not always be recognised correctly, so users need the chance to review and edit it. This reminded us that technology should support users rather than assume automated results are always accurate.
We now see teamwork and software development as iterative processes. Feedback and mistakes are not simply setbacks; they reveal what needs improvement. The project helped us appreciate how thoughtful design can address an everyday problem.


