1. Public safety / security is one of top 10 problems in the world
  2. Difficult to get real-time criminal incident information Many crimes are discovered and reported by persons other than the police (e.g., victims or witnesses). To detect such crimes, therefore, controversial methods are sometimes required (e.g., electronic eavesdropping, surveillance, interception of communications, and infiltration of gangs).
  3. Bias or inaccurate suspect identification Researchers have long known that eyewitnesses often are unreliable and that most wrongful convictions have been the result of erroneous eyewitness identifications
  4. Take a long process to search the criminal

What it does

  1. Citiv is a surveillance system to detect crime behaviours and recognize criminal suspect in video.
  2. Citiv could integrate with any CCTVs.
  3. Citiv can be used by city leaders or government or police to monitor criminality action including analyze suspicious behavior and recognize criminal suspects in video.
  4. City leaders or government or police will get notification via email or Facebook messenger but user need to register first in Citiv web-app.
  5. In email or facebook messenger, you will get information such as
    • Analysis of suspicious behavior, e.g. duel or flame
    • Analysis of criminal suspect recognition, e.g. Loki
    • User can forward the information to citizen
  6. For citizen, they can use Citiv to report criminal incident through our web-app by uploading a video or doing live streaming.
  7. For citizen, we also store their reporting video in our web-app and this only can be seen by themselves. This way, the video can be used by them as a proof if needed in the future.
  8. Besides that, we also leverage big data technology to provide a heatmap regarding criminality detection pattern (location and other patterns) for helping them do better resource allocation

Using Citiv, city leaders or police officer can

  1. Get real-time criminal incident information since after user upload a video or do live stream, police officer will get the notification regarding the incident and suspect
  2. Get accurate suspect identification because we analyze it for them with high accuracy (around 90%)
  3. No need a long time to find suspects because there are lots of CCTV in the city, and whenever the suspect appear in public area and record by CCTV, we send real time notification to police officer

How we built it

  1. We started from determined how we can solve a problem about security, criminality, evidence, realtime reporting, etc which lead us to design a core idea of Citiv
  2. We leveraged proven services and technologies that can build the core feature of our product that needs to determine a criminal activity through image or video. We decided to use AWS Rekognition, until one day we can move to our own model when it is trained and worked well enough.
  3. We use other AWS services and Facebook messenger to provide features from video capture process until the notification in one flow cycle. We stick and use many with AWS services to fasten the integration and development needed.
  4. Then, we need to make this criminal events and data more useful to solve our core problems in number 1, so the first thing we need is to store all the data, we actually have not store any data until this step, except for AWS S3. We choose MongoDB for its flexibility, high availability, high performance, and rich query.
  5. Then, we visualise all this stored data to provide better insight and decision making to the user (government/police/security organization) using chart and compass from MongoDB. This feature will be the core solution to prevent more criminal activity in the future if used correctly in the police/security allocation by location.

Challenges we ran into

  • MongoDB Stitch
  • MongoDB Charts
  • MongoDB Compass
  • MongoDB
  • Social good
  • Team project

Accomplishments that we're proud of

  1. We already do some research regarding other application for crime detection or prevention. Most of them can find suspect by uploading photos or can provide alert that notify crime. Then, what do make us different with them? We are the first real crime detection, recognition, and analysis.
  2. We also pay attention to the UI and UX of our apps. We make the design simple yet informative to our users. With 3 clicks (open our app -> upload video or start video stream -> upload video or stop video stream), they can report criminal incident to police officer.
  3. From the technical side, we can finish our prototype for detecting suspicious behavior and criminal suspect in video and real-time criminal report via livestream. The other important thing is in this prototype, we successfully detect the criminals that do suspicious behavior in real time with high accuracy (around 90% for suspect recognition). And for demo purposes, we store some images in our database as the criminal.

What we learned

  1. We learned that the integration process of MongoDB to our system are easy and fast
  2. MongoDB is reliable, provide high scalability and availability so we can just focus on building the solution
  3. MongoDB Chart feature and variations are really helpful, especially for our case that needs visualisation

What's next for Citiv

  1. Partnership with city leaders
    • Integrate with city's CCTVs and integrate citizen's device
  2. Big data analytics
    • Business intelligence dashboard for criminality analysis
    • Prediction and recommendation system
  3. Partnership with other countries

How to test

  1. Add our bot Citiv with this link
  2. Open this link: to open the upload or live stream page
  3. Upload a video related to criminal/violence activity (best sample: or try live video (use Firefox and allow camera permission)
  4. Wait 2~3 minutes for the email or facebook messenger notification
  5. To know the analysis you need to open your email or facebook messenger
  6. For email, please login to this account through
  7. Insert password : citiv123456
  8. Done

Built With

Share this project: