Team Distributed Developers present InsectiSpy

InsectiSpy allows children learn about their local wildlife in a fun and engaging way.

The app makes learning about insects interesting and fun. With this app, children can take pictures of insects they have found, learn their scientific and common names and get a fun bit of trivia. The exciting twist on our app is that you have an option to save the bugs: this gives you points to increase your level - and unlock cool badges, avatars and titles to show-off your bug finding skills! The app has several features and functions to achieve this goal - including: - 'Bug Snapper' that lets the user takes pictures of insects with their phone camera and receive both the scientific and common name of the insect in return. - 'Bug Log' that lets you view a history of insects you have taken a picture of and saved. - 'Bug Badges' that keeps track of your points, levels and rewards unlocked from the number of bugs you have found. - 'Bug Journey' that allows you to start a pedometer and counts the number of steps you took during your bug journey, as well as the number of bugs found and the length of your journey.

InsectiSpy Demo Video

InsectiSpy Demo Video

Team Distributed Developers

Semen MelnykovPreview: Semen Melnykov

Semen Melnykov

Rebecca NealePreview: Rebecca Neale

Rebecca Neale

Max Dent-PooleyPreview: Max Dent-Pooley

Max Dent-Pooley

Chetin BalogluPreview: Chetin Baloglu

Chetin Baloglu

Bronwyn PartonPreview: Bronwyn Parton

Bronwyn Parton

Bronwyn PartonPreview: Bronwyn Parton

Bronwyn Parton

Tech Stack

We used :

Frontend: TypeScript, JavaScript, Expo, React Native, Tensorflow.

Backend: Firebase RealTime Database, Firebase Authentication, Firebase Storage

We chose React Native as it was a great option for making the app compatible with across multiple devices and is ideal for making Android Apps. We used Expo because it made spiking and prototyping easier in the development stage. TypeScript gave us a broader range of features when designing the frontend. Firebase provided an ideal option for our backend storage of data as it stores information as a simple JSON making it easy to access and use in our frontend. We also made use of the Firebase Authentication as it provided a safe and secure way to store user log-in details. The TensorFlow camera functionality was our best option to be able to pass user images into a TensorFlow model.

Finding a way to integrate the machine learning model from TensorFlow into our app was a challenge. We found that there were sometimes incompatabilities between the libraries and features we needed to use, and the ones we were already using to build the app. It took some further spiking and testing to find a camera that both worked in the app, and was capable of converting images into tensors to allow them to be passed to the model.

We would like to thank: Northcoders for their fantastic teaching, encouragement and guidance. Credits to: Integrated Taxonomic Information System for a free API to get common names of insects. Insect images by FreePic. Insect Classifier from TensorFlow Hub: https://tfhub.dev/google/aiy/vision/classifier/insects_V1/1.

Tech StackPreview: Tech Stack