Mesurable
Inspiration
From our own experiences and popular knowledge, we recognized that packing is an unnecessarily time-consuming task that is present in almost all trips that people make, due to the difficulty of placing everything so it fits within their suitcases. Some will even dedicate entire days to this task, knowing that trial and error will take a long while. As such, we decided to automate the process of finding the most optimal placement of all items in a suitcase.
What it does
With the use of their camera and AR technology, the user can measure their suitcase’s dimensions, as well as that of any item they wish to place inside. After doing so, the app will use a solution to the “bin-packing problem”, which is a greedy-type algorithm that finds the placement of items within the suitcase that minimizes the space used, and display the result in AR so the user can copy in real life.
How we built it
The app was built using Unity for iOS. The algorithm for packing the user’s items is based on the Bin Packing problem, a library was built in C# in order to implement it in the Unity environment. We had to research how to implement AR into our Unity application, which was facilitated by using the ARCore SDK and its features.
Challenges we ran into
One of the most important challenges we faced was how to implement the measuring feature from scratch, since it required a considerable amount of math behind it. By using the AR feature of Unity, we were able to complete this feature with a low margin for error.
Another challenge we faced was the display of how objects must be placed in the suitcase. Since this required a lot of rendering, and some objects needed to be placed tightly, it was hard to find a simple way to tell the user how it must be organized.
Accomplishments that we're proud of
We managed to make the process of measuring intuitive, as it would otherwise be tedious. We also made the app display important information during key moments, such as while viewing the objects' position and taking measurements.
What we learned
Some of the things we were least familiar with were AR, mobile development and algorithms such as the Bin-Packing problem algorithm. These topics were something we took a deep dive into, and feel satisfied with the results of our learning.
Not only did we get more experience in realistically using the concepts from our data structures and algorithms classes, we also handled mathematical equations and physics concepts such as vectors in order to accomplish the goal. As such, we can say we've learned more about how to translate theoretical concepts into practical ones.
What's next for Mesurable
To further simplify the user’s experience with the app, we’d plan to create a database of items that people have scanned (with their permission), so other users can choose them and include them instead of scanning them each time.
Log in or sign up for Devpost to join the conversation.