Selected Project
Pic. GitoDo Index Page
GitoDo: A Git-Inspired Todo List Application
GitoDo is a reminder application that draws inspiration from the concept of Git. Current reminder apps face several limitations. Most of them fail to effectively manage branch todo lists for main topics and provide only basic task assignment functionality, lacking true collaboration features. Our goal is to create a comprehensive todo list application that allows users to organize their tasks using topics and facilitates collaboration among individuals in study groups or with shared goals.
Key Issues Addressed
Inability to Create Sublists about Same Topic
Many existing todo list apps lack the capability to create sublists or branches, limiting the ability to extend or create new objectives.
Limited Share Function
Current sharing features in todo list apps only allow task assignment, falling short in supporting multiple individuals working towards the same objectives collaboratively.
Git introduces the concept of main and branch repositories, and GitoDo leverages this idea. Users can create multiple main repositories for todo lists related to the same topic. This enables people within the same todo list to share tasks, collectively work on todos, and track each other's progress within GitoDo. All todo lists are stored on servers, giving users the option to make them public or private. When a todo list is made public, anyone can search for it, view its contents, and make modifications based on their own progress.
Why GitoDo?
Why Not Just Create Multiple Topics?
While creating multiple topics may seem like a solution, it overlooks the potential interrelatedness between different topics, which existing solutions fail to highlight.
Why Not Use Existing Copy Functions?
The current method of copying is cumbersome, involving sharing and then duplicating tasks to a user's list, without providing visibility into others' progress.
Why This Approach?
Existing solutions have not adequately addressed the need for seamless collaboration and branching, leading to difficulties in multi-user sharing and branching.
Key Features
Organized Branching
GitoDo provides an intuitive way to showcase the relationship between tasks by separating them based on topics.
Collaboration
The application supports real-time progress tracking among users, enabling synchronization of branches and ensuring that all individuals share the same set of tasks.
Search and Modify Other Branches
Users can search for and copy branches, allowing them to customize and adapt predefined steps towards their objectives.
GitoDo reimagines todo list management by harnessing the power of Git's branching system, offering a comprehensive and collaborative solution for users to organize and achieve their goals more effectively.
Result
In this project, my primary role encompassed various aspects of design and development, focusing on creating a seamless user experience and ensuring the functionality of the application. Here's a breakdown of my responsibilities:
UI/UX Conceptualization and Prototyping
My initial role involved conceiving and crafting the User Interface (UI) and User Experience (UX) for the GitoDo application. I worked on creating the blueprint that defined how users would interact with the application. This included designing the layout, navigation, and overall visual aesthetics to provide an intuitive and engaging user experience.
Pic. Discussion Board (Early Phase)
Function Development
In addition to the UI/UX design, I was deeply involved in shaping the functionality of the GitoDo application. This entailed outlining the features and capabilities of the app, ensuring that it meets the project's objectives and user requirements. I worked on defining how various functions would operate within the application.
Pic. Prototype - Add Branch
UI Design and Front-End Development
One of my core responsibilities in the development phase was the UI design and front-end development of the application. I brought the UI/UX prototypes to life by translating design concepts into code. This involved creating responsive and user-friendly interfaces, implementing animations, and ensuring that the application was visually appealing and user-centric.
Pic. Product Demo (Overview) Pic. Product Demo (Branch View) Pic. Product Demo (Task View)
Addressing Network Request Conflict Issues (Back-End)
On the back-end side, I took on the critical responsibility of addressing network request conflict issues on the server side. This involved managing and resolving conflicts that may arise when multiple users access and interact with the application simultaneously. By handling these issues, I contributed to the overall stability and reliability of GitoDo.
Leadership and Presentation
This leadership role provided me with a valuable opportunity to further develop my skills in project management and presentation. I guided the team through the various phases of the project, ensuring that everyone was aligned with the project's goals and deadlines. Additionally, I took on the responsibility of presenting our progress and findings to stakeholders and peers, refining my ability to communicate complex technical concepts effectively.
My role in this project combined creativity and technical expertise to deliver a well-designed, fully functional, and reliable application that meets the needs of our users.
This project has been a pivotal experience that has shaped my journey into the fields of UI/UX design, software engineering, and leadership. The challenges I encountered, from crafting user-friendly interfaces to optimizing server-side network request processing, underscored the delicate interplay between front-end aesthetics and back-end functionality. I learned that in UI/UX design, user surveys and interviews are as crucial as functionality discussions. As the project progressed, I recognized the significance of addressing intricate software development and design nuances. Adapting and refining design and development iteratively, although demanding, proved to be an engaging process. Simultaneously, I became aware of my areas for improvement, particularly in team leadership and enhancing team efficiency. This journey not only enhanced my technical skills, but also deepened my commitment to bridging the divide between design and software engineering.