• Many issues are left unattended to in our cities and also the few issues that are raised people just complain about them
  • A couple of cities already have systems like 311 (NY), Collab (Brazil) but there are still so many developing countries that lack such systems

What it does

  • Provide a simple and efficient way to report incidents or issues that require correction or solving.

How we built it

  • We have a backend that we built using TypeScript with Express.js. A frontend using React.js and Messenger chatbot.
  • We are using MariaDB as the database.
  • The Messenger chatbot provides a very intuitive way on how the user can report an issue they have identified. This issue is sent to our backend and can be better visualized on the web application.

Challenges we ran into

  • Deciding on an area to focus on for our product especially that our problem cuts across all cities in the world.

Accomplishments that we're proud of

  • Having an MVP to submit
  • The teamwork. Us coming together from different parts of the world, working together and managing to come up with an MVP
  • Managing to use What3Words, which is sponsored by the UN, to solve the address challenge.

What we learned


  • Zero to hero for newbies in messenger
  • We have learned more about using messenger, for example, persistent menus, welcoming users through messenger
  • We have also learned more implementations in React, for example adding google maps


  • There are so many issues that people see in our cities but nothing is being done about them. A few cities that have systems to report issues have no means of tracking progress towards solving the issue
  • It is hard to get some locations in some regions as they are not mapped out very well. We used What3Words to solve this.

What's next for The City Watch

  • Defining and building platforms for users to discuss solutions to reports that have been made.
  • Building a progress tracker on an incident
  • Build a reward system that can encourage users to report issues but most importantly to motivate them to discuss possible solutions to the issues reported.
  • Making reporting more automatic using devices such as detectors that can make detections and then send data to our servers
Share this project: