--- title: 3-1 How to Start a Project? tags: jothon, NDI --- :::success :book: Return to the homepage of the handbook: https://g0v.hackmd.io/@jothon/ctpbook_en "g0v Civic Tech Project & Community Handbook" is licensed under CC BY-NC. ::: # 3-1 How to Start a Project?|g0v Civic Tech Project & Community Handbook ### Chapter 3: Initiate a Civic Tech Project ## How to Start a Project? ### 1. Project Development Stages & Evaluation Items By examining this architecture diagram, we can consolidate the common issues faced by projects at different development stages and by various types of project contributors. This facilitates a more comprehensive evaluation and consideration of potential solutions. ![](https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_f3ea12ea63b7b947d984f42882f766db.png) ### 2. :book: Project Proposal Template - Basic Version! (1) Reason (WHY) (Why do you want to initiate this project and what problem does it aim to solve? Provide some background information.) (2) Target users (WHO) (Who will the final product be for, in what situations, and how will it be used? What are the user's needs and motivations?) (3) Problem-solving approach (HOW) (How do you plan to address this problem? What functionalities should the final product have to meet the mentioned usage scenarios?) (4) What challenges are you currently facing? What are the milestones of the project? (5) What type of collaborators are you currently planning to recruit? - [ ] Project Manager: Essential for developing the project blueprint and making the interface operational. - [ ] Project Coordinator: Essential for coordinating project participants. - [ ] Writer: Assistance required for writing basic information and project reports, etc. - [ ] Designer: Interface design required. - [ ] NeedsData: Data extraction and cleansing required. - [ ] Tech: Technical support required (programming, website hosting, etc.). - [ ] Process: Assistance required in designing workflow. - [ ] Talking To Real Person: Assistance is required in contacting other organizations. (6) Project timeline? ### 3. Things to Check After Launching a Project (1) What are the uniqueness and irreplaceability of the project? (Why can your approach solve this problem?) (2) Existing similar projects (Can existing projects be directly used? What are their shortcomings? Any relevant international projects for reference?) (3) Related applicable projects/technologies (Derived from a specific project / inspired by a specific project / API integration from a specific project.) (4) Licensing approach (For code: MIT, BSD; For documentation: CC-BY, etc.) (5) Data usage (Which data sources will be used and what their open-source licenses are?) (6) Current status of the project (Conceptualization / Planning / Prototype / Implementation) (7) Potential future developments of the project? (What are the possible applications of the project in the future? Potential collaborations with which organizations?) (8) Use the following sentence structure to clarify project goals, target audience, and uniqueness: "To address the difficulties faced by [target audience] in [problem context], my project offers [solution], which enables [specific outcomes]." (9) Forming a project community ### 4. When Projects Achieve Goals, Evolution, Reboot, and Forked by Other Projects #### 🔶 Achieving Project Goals ##### (1) The Project Comes to an End Some projects are initiated in response to urgent societal needs, and when those problems have been solved or no longer exist, the projects come to an end, such as the “Mask Map” project. In 2020, when the COVID-19 pandemic began to spread globally, the engineering team from “Goodideas-Studio,” a collaborative partner of the g0v community, developed the “Convenience Store Mask Availability Reporting Map” to enable the public to access real-time information about purchasing medical masks from various retailers. Later, with the assistance of Audrey Tang, who was minister without portfolio focusing on digital affairs at the time, the government opened real-time inventory data for pharmacies and further developed the “Pharmacy Mask Map.” When mask production capacity, inventory, and distribution policies were sufficient to meet demand, the Mask Map was no longer needed for current public needs, and the project's goal was achieved, leading to its end. ##### (2) Original Goal Achieved, Initiating New Missions If a project achieves its initial goal, it may either terminate the project or initiate the next phase of the mission, as seen in the "Open Political Donations" project. After the 2014 Sunflower Movement, g0v community contributor Ronny initiated the “Open Political Donations” project, digitizing paper-based political donation data that couldn't be taken out of the Control Yuan. The digital data was then made available for public use and analysis. The project eventually led to legal reforms in 2017 and the official launch of the “Political Donations Public Inquiry Platform” in 2019, achieving its project goal. While the project had prompted legal reforms and data openness, existing regulations still couldn't fully trace candidates' campaign finances, and large donations can influence candidates' policies. Therefore, in 2023, the project initiated new goals, aiming to further legal reforms and pre-election disclosure of large corporate donations to promote a more transparent and accountable democracy and electoral institution. #### 🔶 Project Evolution ##### (1) Expanding Project Scope During the collaborative process, a project may discover or conceive of other similar needs or social issues that can be addressed using the same approach, leading to the expansion of project goals. ![](https://s3-ap-northeast-1.amazonaws.com/g0v-hackmd-images/uploads/upload_f463bd543105d13cf6ae55f44bf3607b.png) > Image from a screenshot of the project presentation ( https://docs.google.com/presentation/d/1qcCedWc-OmnSJPY3F5eDg7wzbteSclcU/edit#slide=id.p5 ) For example, in the “InkRosetta” project, initiator Teemo, who works in a hospital as an engineer, noticed during the COVID-19 pandemic that government-provided policy information cards were difficult for some minorities with information and language gaps, such as migrant workers and individuals with disabilities (e.g., the visually impaired), to understand. Therefore, he aimed to create digital interpretation cards to reduce information gaps and communication issues between healthcare providers and patients. As the project developed, Teemo realized that digital interpretation cards could also be applied in environments with a large number of non-Chinese speakers, including local pharmacies, local NGOs, various frontline organizations, and people traveling to Southeastern Asian countries in the “New Southbound Policy” initiative. Therefore, he hoped to make the digital interpretation cards available not only in healthcare institutions but also in other places for people with similar needs. ##### (2) Adding New Goals or Initiating Sub-Projects To keep up with changes in the times or to address new issues discovered during project collaboration, projects can simultaneously set up other goals. In recent years, AI digital tools have been continuously evolving with diverse functionalities. The “Cofacts” project hopes to use AI digital collaborative tools to organize information and reduce manual labor. Therefore, the project is currently seeking community partners familiar with AI training to discuss more ways and possibilities for collaboration. In addition, in the “Disfactory” project, besides collaborating with the g0v community to jointly develop the “[Agricultural Land Violation Reporting System](https://disfactory.tw/),” which provides a platform for citizens to report illegal constructions anonymously. “Disfactory” also launched “[Let's Find Factories](https://spot.disfactory.tw/)” in 2022. This gamified approach provides satellite imagery data for citizens to compare, transforming passive data collection into an active process, with the participation of nearly 8,000 citizens in data identification. #### 🔶 Project Restart Project restarts can generally be categorized into two situations: one when the project faces the same societal need again, and the other when the project is temporarily suspended due to other factors and later resumed. ##### (1) Facing the Same Need Again In the first situation, a more common example is projects related to elections. Elections are periodic social events, such as presidential, county executive/city mayor, legislative, and county/city council elections held every four years in Taiwan. During election periods, g0v contributors may initiate or restart election-related projects from previous cycles. They further enhance and add new features to the project based on past experiences and user feedback, making the project outcomes more usable. ##### (2) Project Suspension and Subsequent Restart In the second situation, besides the project initiator temporarily pausing and then resuming the project for some reasons, it is also possible that the original project initiator has to suspend or leave the project development due to personal reasons. Later, other people interested in the project will take over the collaboration and restart the development and execution of the project through the open data left by the project, such as the development and discussion process, the source code, etc. #### 🔶 Fork the Project Forking project can be broadly categorized into two situations: one is transferring the entire project to other contexts, and the other is forking specific elements, like the source code, for use in other projects requiring similar functionality. ##### (1) Forking the Entire Project In the first situation, we can take the g0v community project "Cofacts" as an example. "Cofacts" is a project focused on fact-checking and clarifying misinformation. It is open-source, allowing other countries or regions facing similar misinformation issues to replicate the project's operation model and access the source code and related data for their use. For instance, "Cofact Thailand" is one of the projects that have forked from it. ##### (2) Forking a Part of the Project In the second situation, we can take the g0v community project "Disfactory" as an example. "Disfactory" is a project related to reporting illegal factories on agricultural land. It provides a reporting platform where citizens can upload photos and geographic data to report the locations of these illegal factories. After verification, the data is submitted to government agencies. Another g0v community project, "OH! SHOWN: Formosan Black Bear Sightings and Traces Reporting System," also requires citizens to upload photos and geographic data. It allows people to report sightings and traces of Taiwan's endangered native species, the Formosan black bear, for conservation, research, and the prevention of human-bear conflicts. Therefore, this project forked the source code of the "Disfactory" reporting platform to develop the Formosan black bear reporting system. ----- ### 5. Project FAQ #### (1) After starting a new project, besides completing the proposal template and confirming the project goals, what other aspects should you first pay attention to? - After presenting the project concept and determining the project's direction, listing short-term feasible tasks can be the priority. Make good use of collaborative document tools and make the documents publicly available to different communities. In the g0v community, you can share your proposal on Slack channels or participate in bi-monthly hackathon events. You can pitch your proposal during the hackathon and have discussions with attendees, gathering interested participants' insights on the project's execution direction and identifying short-term achievable goals, such as categorizing tasks as short-term feasible or long-term considerations. #### (2) What elements are needed to develop a long-term project? - First, establish a core working group and set up private channels or communication tools for internal discussions. Also, establish contact methods for external communications, such as email, channels, or social groups. Make good use of public events, including hackathons, meetings, presentations, and collaborations with external parties, to enhance the project's progress and enrichment. - Second, create a collaborative mechanism that includes financial management, project progress tracking, and project division of labor. Additionally, if it involves managing an open-source community, establish community governance guidelines that provide a framework for internal management and principles for external representation. For example, implement a "risk prevention mechanism" to address violations of responsibilities, such as accidental deletions of contributions, personal data leaks, misrepresentation of individual representatives to the public, and financial accountability for fundraising activities. #### (3) Why should projects be open-sourced? * Considering that most projects involve asynchronous collaboration, it's important to keep project progress transparent so that team members can stay updated in real-time and understand where to pick up work. It can also allow members who cannot attend every project meeting or newcomers to seamlessly follow discussions and related decisions. Therefore, project meetings, collaborative processes, source code, etc., should be open and accessible. Additionally, open-sourcing a project not only invites feedback from others but also serves as a conceptual example or template for other projects with similar needs. * Taking the g0v community project "Central Government Budget Visualization" as an example, it translated complex budget data into easily understandable visualizations. By open-sourcing the project's source code, it led to the Taipei City Government creating the "Taipei City's 2016 Budget Visualization" based on the existing foundation.