Inspiration

Drunk driving is one of the leading causes of traffic accidents worldwide. Indonesia is no exception. According to data from the Korlantas Polri's Directorate of Law Enforcement, there were 121,641 traffic accidents in 2019. Drunk drivers were responsible for 73% of those fatalities. We've seen many people drive under the influence in our own lives, and some have died as a result. With the pandemic finally subsiding, we see the world returning to normal, including the nightlife. Furthermore, people tend to disregard the dangers of driving under the influence, possibly because they are unaware of the extent of their impairment. Individuals who are unable to fully comprehend their current state of mind may endanger not only themselves but also others. It's surprising to learn that most passenger victims of drunk drivers were unaware that the driver was intoxicated. Victims are extremely frustrated because they feel completely out of the loop. Through gamifying the sobriety test, we hope to encourage people to be more aware of their current mental state and make better decisions.

People we know and cared for have passed away from drunk driving, from drinking traditional arak to top-shelf whiskey. And we are sad to mourn their losses. These losses are definitely preventable. Soba Up!..to be safe on a night out

What it does

Our application includes three games with simple rules. Each game is specially designed to assess common impairment characteristics of intoxicated people. To ensure that each test is consistent, players must sit down and hold the phone upright. The first game evaluates functions such as tracking moving objects, reaction time, and control. The second game tests perception, concentration, and speed control. The final game evaluates blurred vision and loss of judgment. If your cumulative accuracy falls below a certain threshold, our application will flag you as impaired. As a result, the app will send a text message to your friends and family, share your location, save your car location if you have one, and immediately call a taxi to your location for a safe ride home.

How we built it

“Soba Up” system consists of three sub-systems; landing page, backend server, and the mobile app. Since all sub-systems are written in Typescript, we decided to use monorepo with the help of https://lerna.js.org/. The landing page is developed using https://nextjs.org/, NextJS has SSR and SSG capabilities that suit the needs of our landing page. The backend server is embedded in the NextJS framework. It uses https://www.prisma.io/ as the ORM before the database layer. Prisma is configured to communicate with the Postgres database. The mobile app is developed using React Native and Expo for local development.

We use Github to store Soba Up source code. To make sure every commit won’t break the main branch, we incorporated Github Actions to check the code before it’s going to the main branch. We follow trunk based development to organize the branch.

We use Twilio to send notifications from our app. The user can pick if they want to be notified via SMS or Whatsapp.

Challenges we ran into

We operate in different timezones, some of the team members are in the US while the other is in Singapore. We find it hard to pick the right timing to do the project together. To overcome this, we should stay up until midnight or wake up early in the morning. From the technical front, this is our first time using some of the tech stacks. Within 48 hours of the hackathon we ran into errors from the code base. For example, since we use monorepo, there is a common node_modules in the root directory of the project, that means the mobile and the web are sharing some of the dependencies. We found that the mobile and the web are using different versions of React. It took us a while to sort this out as the dependencies are not linked like in a normal repository.

Accomplishments that we're proud of

Pushing ourselves to learn new things in order to make this project happen! We are also proud of our teamwork. Despite working in different timezones, we try our best to support each other. Last but not least, no matter what, we are proud of all the effort and time we put into this hackathon. We are hopeful! :)

What we learned

We picked up most of the technological skills during the Hackathon. We learned that the planning phase is the most important, as one said a goal without a plan is just a dream. At the beginning of the Hackathon we spent some time thinking through the system and have a common understanding of the goal before we moved on to the implementation phase.

We learned that having a good commit message and pull request description really helps in speeding up our development. As we always try to work asynchronously due to the timezone difference.

What's next for soba-up

In the future, we hope to use facial recognition to provide a rough estimate of an individual's alcohol consumption. This type of implementation could then be used to track people throughout the night. Individuals could frequently scan their faces and see the application for water and food recommendations. This could also be linked to their Apple Watch to keep track of their vitals throughout the night. Because the most common sobriety test is to walk in a straight line, we could take it a step further and have people analyze a panoramic photograph. Because taking a panoramic photograph requires the user to keep their hands steady, it would be ideal for testing an individual's sobriety. Finally, for added security, we would like to have the steering wheel of the car locked if the individual fails the application's sobriety test.

Built With

Share this project:

Updates