DEV Community

Cover image for I participated in the making of a road safety app.
Enzo Conty
Enzo Conty

Posted on

I participated in the making of a road safety app.

I'm a french computer science student, and for the past 3 years, I've been working along with 7 other students from my class on our end study project.
The project was started after almost 2 weeks of brainstorming at the start of our 3rd year, and the project needs to be functional in the middle of our 5th year !

My Final Project

So after a lot of brainstorming about the technical stack, the business plan and the need of our project for people around the world, we decided to create a road safety app.
Why ? Because we saw that in France, we got problems with road safety, almost 40% of fatal accident by car are caused by 3 major factors:

  • Speed
  • Distraction
  • Sleep

This is why we created SharpEye, SharpEye is a mobile application that prevents the dangers while driving. It uses the rear camera of the phone to detect obstacles, pedestrians or any potential dangers and alert the driver by sending him a sound signal.

The app is functional and we're proud of this !
But the code is in some part very wacky, and because any of us want to continue this project so it'll actually stay as it 😓

Demo Link

You can actually find it on the Play Store under the name of "SharpEye"
Here is a link for you !

Also a video here

Also here was the stand of our project in our school !
Stand

Link to Code

Sharpeye Android

This is the project for Sharpeye Android. SharpEye is a mobile application that prevents dangers while driving. It uses the rear camera of the phone to detect obtacles, pedestrians or any potential dangers and alert the driver by sending him a sonor signal.

Features

  • Dangers detections
  • Road signs reading
  • Dashcam
  • Sleeping detection

Languages

Sharpeye Android is mostly written in Kotlin, Java is not prohibited but try to avoid it as much as possible, use it only if there is not kotlin alternative.

Architecture

The App is built following a MVVM design pattern standing for Model View ViewModel. The folder structure follows the standard implementation of MVVM, You can find it explained in details Here : MVVM folder structure

Build

Just click on make project.

Please report any bug as soon as possible.




How I built it (what's the stack? did I run into issues or discover something new along the way?)

As I previously said, we started this project as a 3rd year student and finished it in the middle of our 5th year, after what we made a lot of presentations of the project to various tech events in Paris and France.

So in 2 years of making, the project has evolved a lot and we too !
The technical stack changed a bit, mostly what's concerning TensorFlow !

So as I speak, SharpEye Android is mostly written in Kotlin, Java is not prohibited but try to avoid it as much as possible, and we use it only if there is no Kotlin alternative.

We used TensorFlow Lite to train models that we used to recognised pedestrians and cars/truck etc.. Also OpenCV played a big role in our stack with different tracker (like the MOOSE tracker) that we implemented and tracking cars/obstacles/pedestrian between two TensorFlow Lite detection.

[Final Note]: 20/30, we passed !

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.