Our inspiration for this project was to help out our fellow friends who were often too scared/embarrassed to ask store employees for help regarding locating products within grocery stores. While online stores tended to thrive during COVID-19, many traditional retail stores struggled to make it through; many people expect no longer want to go somewhere to purchase products that could be found online. At the same time, we wanted an interesting idea to apply the knowledge we have passionately gained in the Computer Science field. While discussing and brainstorming with this idea, we also realized this could also easily be converted into an entrepreneurial venture with some post-hackathon efforts, which further motivated to pursue this idea. This also happened to become the first coding project that we worked together on as college roommates :)

What it does

ReTale relieves everyone from the journey and quests taken to find products in the grocery store. For consumers, it serves as the convenience factor to purchase from nearby grocery stores as the amount of time it takes will be significantly cut down. This is thanks to our navigational system that maps out a path given the products in the shopping list feature that is available in our application. By following this computer generated path, you will be taking a much shorter route than aimlessly wandering the aisles looking for specific products on your shopping list. As you find your product on the shelf, you can use our barcode scanner to detect the object and strike it from your shopping list, as well as adding it to your cart to eventually conduct a quick no-contact checkout.

How we built it

The app works by integrating multiple frameworks and languages. This app was made with a combination of Flutter, Android, and NodeJS, developed with Dart, Java, and JavaScript respectfully. In terms of our feature pipeline, we worked on developing each of the features with sample test cases first. From there, we went on to slowly integrate feature by feature into the main codebase. In terms of the technical details, the strength of the WIFI signals is parsed into a unique and custom formula that then generates a position with the process of triangulation. Using the in-app shopping list, a grid map (as created by the Admin of the store) will be pulled from the Firebase to generate the shortest path through the implementation of a custom pathfinding algorithm that is a variation on the tradition A* Pathfinding with heuristics. The user can then move around in the store, and the path will be adapting to those actions. The UPC scanning was developed using a Flutter Package to maintain simplicity, from which UPC would be passed in as a query to a product finder API to find the product - in the future, we hope to allow stores to store these along with their maps, as that will allow for in-app, hassle-free checkout.

Challenges we ran into

Our initial plan for the frontend of the mobile application was to use Flutter for its seamless and smooth visual aesthetic. However, after extensive research, we learned (to our disappointment) that Flutter didn't have a pre-existing package to parse the data we needed for location triangulation from nearby WIFI signals. With that newfound understanding, we continued to explore for viable solutions to our dire situation. We eventually came across a functional and well-documented package with all the data we would need; however, it would require us to program the android application in Java, something our team didn't have prior experience with. With some improvising, adapting, and overcoming, we learned a lot and was able to power through with our project to the finish line.

Accomplishments that we're proud of

Despite some of the challenges we ran into, we are extremely proud of what we have been able to produce over the course of 36 hours. First and foremost, we were amazed that such a concept actually worked in practice. We were able to essentially develop a Minimum Viable Product for the ReTale project, going through enough experimentation to derive a custom equation that would serve as the formula for converting a WIFI signal with units of dbM to a distance in meters (m). We also were proud to achieve the seamless integration between platforms, something that was more of a non-functional requirement.

What we learned

We learned a lot of unique application for the Math classes we had taken throughout high school. The things we had learned, especially the properties of figures and solving with specific variables in mind. The application of these skills made it easier to develop and enhance our unique WI-FI navigational system. Working with just the RAW wifi signals was also something that was very new to us, as most of the time we would just be using the WI-FI to transmit information or to access the internet. Once again, with some of the issues we ran into, we were forced to develop some aspects of our product in Java for Android, which was an interesting very valuable and experience.

What's next for ReTale

As mentioned previously, this could possibly become an entrepreneurial venture that becomes the future for the retail industry. Due to the mutual benefit that it serves people and the stores, that there will be a possible demand for such a product. We also want to improve the feature set of the product even further. In the future roadmap, we would love to include crowd management, restocking alerts, weighted paths and so much more. We have a lot of faith in such an innovative product, with high goals and expectations for its future.

Built With

Share this project: