Inspiration

Developed for the 123loadboard Challenge, we developed an algorithm and web application for truckers to find the best trip in order to save money and time.

What it does

The intent for the app is to take an input from a trucker, namely a location comprised of a latitude and longitude (the default is his current one if his geolocation is enabled), the start time, and max destination time in order to output an optimal route on a map.

How we built it

The app itself was built using React for the interfaces, Material UI for the styling, and Leaflet for the map. As for the algorithm, it was written in C++.

Challenges we ran into

Unfortunately, we were unable to compile the a code written in C++ into our react app using Web Assembly due to a lack of time and poor documentation. As a result, the current point plotted do not show the optimal solution, but rather a random one. Nevertheless, this issue introduced us to the concept of Web Assembly, and how it may be used. In addition, we couldn't finish the C++ implementation due to lack of time and issue with a teammate.

Accomplishments that we're proud of

We have developed a fully functioning react app. In addition, we developed an efficient algorithm that even though we could not experimentally analyze its performance, is fast and should give close to an optimal solution.

What we learned

We learned how to use leaflet in react in order to plot markups on a map. Also, even though we failed to implement it, we got an introduction into Web Assembly and how to integrate a fast program written in a mid-level language such as C++ into a React client application . In addition, we learnt more on how to develop an algorithmic solution that has a reasonable performance (memory and time consumption vs. accuracy).

What's next for Honk Honk

We need to finish the implementation of the algorithm in C++, integrate it into the main React project using Web Assembly, and experimentally adapt some of its global variables to improve its accuracy. In addition, we should implement additional improvements in the algorithm.

Built With

Share this project:

Updates