Inspiration
Recently I watched Steve Jobs' answer to a technician's rude question. The technician was mad at Jobs for deciding to deprecate OpenDoc in favor of Java. In his answer, Jobs made it clear that we engineers are focused too much on the how and not enough on the why. In short, we need to build something people actually need, instead of coming up with new technologies that solve nothing.
With Revi, I actually started with a real world problem: biased consumer service and advice. Being tired of regretting my purchases, and finally, wanting to feel like I know what I'm looking at when shopping.
Only recently my mom switched back to her old smartphone, because the new one was literally slower and poorly designed. Such cases of consumers regretting bad purchases have been happening all around me, including myself.
This gave me an idea - why do I have to waste my time staring at 30 different anti hair loss shampoos and then spend hours digging through reviews, online stores, and random blogs just to make a purchase I'm still not confident about? I have zero expertise in this stuff, and every website seems to be pushing their own sponsored products anyway. And let's not forget how store employees usually give me advice that I end up regretting just as much.
When I saw the Amazon dataset, I suddenly realized this could be solved with AI, especially if it worked fast. This is where GraphRAG comes in - it enables me to instantly feed the AI with perfectly relevant context, so that the response is fast, crisp and helpful in the moment.
What it does
Revi automatically opens up your phone's camera (don't worry, you can still click to chat). You snap a picture of the product you aim to buy, and Revi instantly returns a product card of what you're looking at with the internauts' consensus on the quality of the product.
This includes:
- An average rating of the product
- A summary of the reviews
- An image for presentation and verification
- Alternative products
- Places with a better price
- References to the actual reviews used in constructing the message
This is presented as a product card and is the first message in the conversation. You can continue to chat about the product, and thanks to the enormous knowledge base as well as internet crawling, Revi will be able to present more alternatives and enhance its queries to better suit your specific needs. No more misleading or biased retail advisors.
How we built it
The application is running on Node.js and has been using Express.js, TypeScript, React Native and Expo Go. The project uses several third-party APIs
Challenges we ran into
The biggest hurdle when developing the project came from the sheer size of the dataset and the budget we were working with ($7). I decided to use the most recent version of the dataset from 2023. This was short-sighted of me, since the compressed dataset has 85GB and I after decompressing it would be 5 times as much. In the limited budget we were working with it was necessary to cut corners, that's why only a portion of the dataset has been actually inserted into ArangoDB and we used a local deployment, the categories I selected for this are:
- All Beauty
- Appliances
- Electronics (just a tenth of the dataset with a hundredth of the reviews)
- Toys and Games (first 10000 products)
Accomplishments that we're proud of
We managed to solve a real world problem using Next-Gen Agentic system with GraphRAG. We were also able to develop a MVP while cutting corners and limiting the dataset.
What we learned
I have experience developing traditional RAG systems, but this was my first attempt at implementing a GraphRAG approach. I learned how to write AQL and develop agents with LangChain, since I usually developed AI systems with native API calls.
What's next for Revi - Reviews at a Glance
The application is unfortunatelly far from production ready and only an MVP version is currently available showcasing core features and functionality. We plan on expanding Revi's capabilities with:
- Ingesting the entire dataset
- Production ready build
- Actual web crawl implementation
- More reviews data sources
- Chats storage
- Custom Google Lens integration
- Local models using Ollama
- Real-time communication using video and audio
Built With
- arangodb
- express.js
- langchain
- react-native
- serpapi
- typescript
Log in or sign up for Devpost to join the conversation.