Our main driver in the designing step of the game was the clear intention to avoid a game where the data collection wasn't well integrated in the gaming experience. We quickly realized that this task was not trivial, since we are sending people somewhere to take a photo. Therefore after some brainstorming session we convinced ourself that the best option, and one of the only option that convinced us, was to set the story of the game in the location of the open street map issues. We inspired ourself from the fantastic detective game Cluedo, a product which brings the user inspection mind in a new contributing experience. We therefore decided to implement a game where the user has to solve some detective riddles, and the setting of those is the place where the user is taking the picture. The game is based into progressive discovering of information, that should help the user to solve the riddles. To access the new piece of information, the user has to go to the next place where the story took place in the past, take a picture and he will receive the next piece of the puzzle. With our idea we also aim to create a connected community by providing the same story to people visiting close locations, supporting dialog between users.

What it does

In addition to what described above, the app allows you to live a gaming experience by contribution to the OpenStreetMap via reaching location, take pictures, solve riddles, unlocking avatars, and grinding the leaderboard.

How we built it

The challenge was composed by two parts:

First focused on the machine learning part developing a state-of-the-art deep learning model using Visual Transformers, which performed surprisingly well considering the small dataset.

Then, we developed the mobile application using Flutter allowing us to deploy our app on the Huawei smartphones. We first built the general design, integrated the OpenStreetMap, and made sure to connect to our future backend.

As a third step, we built the Python server using Flask for the front-end to be consumed, providing REST API endpoints about issues location, optimal issue assignation to users, image integrity checking, and avatar generation. This allows the Server to implement sophisticated tasks assignment strategies, optimizing the data collection process edging Daily tasks. Moreover, we made sure our code is fully automated and thus generating riddles automatically based on location to make the user live an unique experience, fully geolocalised.

Challenges we ran into

We struggled approaching front-end at first as we are were in the learning process for providing apps. Furthermore, initially we struggled to set everyone on sync, which led to an initial time waste.

Accomplishments that we're proud of

We are proud of our "inspect" concept, and of our implementation exploiting the newest SOTA technologies (vision transformers, stable diffusers), and integrating it in an app which provides an incredibly seamless user experience, fully automated.

What we learned

We learn how to sync with each other, when to take breaks, and to support each other during the process. Moreover we developed new front-end skills.

What's next for Inspect

Our idea is not over. One of the next steps is to implement text-to speech technology, so that the user can hear the stories instead of reading them. In addition, we want to implement the automatic scraping of stories from detective riddle websites, to make the story options more broad, offering unlimited experiences.

Built With

Share this project: