Inspiration

As Techies, we've spent countless hours in search of the perfect laptop, one that seamlessly combines performance, mobility, and affordability. We've buried our faces deep into low-level reviews, compared fine-print specs, and sought recommendations from countless peers trying to find the ideal. This journey led us through a maze of choices, from sleek ultrabooks to powerful gaming laptops, each with its own leverages and compromises.

To help the "next generation" of techies find their ideal "tech" tool, we decided to build a modern-day solution to our own problem! ReviewAI is an AI-based (quite unique innit?) SaaS that allows it's users to find a thorough evaluation of processors, RAM, graphics cards, battery life, screen quality, and much more, that suits to their use-case. Be it a Fashion Designer or a Computer Whiz, we have all of you covered 😁

What it does

Our nascent but functional project intends to assist our users in making the ideal choice for their next 3-5 year daily pal, their laptops. Although, it seems trivial at first glance (similar to what Tom's Hardware and Engadget provide for free) we have some quirky little features hiding to ensure your needs are always met 😉. ReviewAI takes into account your lifestyle and day-day requirements from this "tech" buddy (bear with me) by letting the user write a little "blog" about themselves (yes you can say you use arch), which then helps our AI make a better decision and provides you with a verdict that you'll savor for life 🥳

How we built it

Our main focus was to provide a functional yet minimal experience to help showcase the power that the idea withholds. In essence, the following points make up a majority of our coding journey while developing ReviewAI:

Data Collection: We utilized Beautiful Soup and Google's Python SDK for web scraping, collecting reviews and information about various computers from multiple trusted sources such as CNET, TechCrunch and PC Magazine .

Data Summarization: Cohere's API played a key role in helping us summarize the collected articles, creating concise and coherent representations of the content as well as act as an intermediate when moving from one step to another, ensuring that the output of one step "perfectly" fits into another.

Embeddings Generation & Cosine Similarity: We further explored Cohere's capabilities by extending it to generate embeddings from the summarized content, which provided us with a statistical representation of the information, allowing ReviewAI to make a decision that holds true logically by calculating the cosine similarity between the user's input and their corresponding reviews.

Explanation Generation: Cohere's natural language generation capabilities were harnessed to craft the final text (a premium feature... never seen that before eh) that explains the rationale behind the web application's computer recommendation, considering user preferences and comparative analysis.

Challenges we ran into

Comparing User Input and Reviews: One significant challenge we encountered was devising a robust method to compare the user's input with the computer reviews effectively. Initially, we attempted a word-based approach, seeking common words between the reviews and user input. However, we soon realized that this simplistic approach didn't consider the nuanced meanings behind words. Different words might convey similar meanings, and vice versa. To address this, we adopted Cohere's API to create embedded vector systems, which assess the importance of each word in the text. This enabled a more context-aware and meaningful comparison.

Web Scraping Complexity: Scraping data from various websites proved to be another formidable challenge. Each website required different scraping methods, making it a complex and time-consuming task. Having a preference for quality over quantity, we decided to narrow down our focus on three distinct review websites to ensure a more manageable scope.

Optimal Development Environment: Considering our team spanned from first year up to fourth years, we had to ensure that none of us were bogged down by the load of setting up our environment. To circumvent this issue, we containerized the entire application but... as you can tell.. containerization comes with it's own set of bugs. From dealing with weird node_volume mounts to the most mind boggling fixes (believe me, a # saved our docker-compose file), we tried our best to keep the codebase maintainable and easy to fix for future development (P.S. there's even some cool CI/CD for Backend and front-end in place... ping us to learn more 🫡).

Accomplishments that we're proud of

Amongst the minor wins that we are amazing proud of, the most prominent one goes to the code we made that uses Cohere's API to explain why it chose one computer over the other based on the user's needs. None of us had any experience with how prompt engineering works, nor did we expect that we could do it in just 2 days, but here we are.. having a functioning prototype that does exactly what we set out to achieve. That's not to say that it was a single person's efforts, but more of an entire team's coordination that allowed us to go from "Please solve this problem ChatGPT" to "Maintain this Chain-of-thought for future context in exactly 700 words".

What we learned

A LOOTTT of things! We are not even joking about it. The amount of learning each of one of us had was beyond comprehension. From setting up CI/CD workflows to quickly moving using tools like tailwind and svelte, each one of us had amazing hands-on experience with atleast one new tool and we are excited to say that this newly sparked curiosity will surely be there for a while (hopefully untill the next Hack the North where we'll see you again 💫).

What's next for Review AI

As we all know, hackathons often impose time constraints that can impact a project's scope. While we successfully achieved our initial goal of creating an MVP (Minimum Viable Product), our future vision for this web application extends beyond comparing just two products, such as computers.

Our next steps involve expanding the application's capabilities to accommodate comparisons between any two products that users desire. Furthermore, we plan to introduce a separate feature that eliminates the need for two inputs, allowing the application to match users with the specific product they are seeking without requiring a direct comparison between two specific products. There are also major performance improvements that can be done and more sources that can be added, but oh well, all of us would agree to say that ReviewAI is the AI shopping pal we all needed ❤️

Built With

Share this project:

Updates