Project Info
The Problem 🙇🏻♀️ While around 98% of consumers read reviews before making a purchase, the process remains time consuming. Consumers jump from site to site, reading numerous written reviews and ingesting video reviews on social media platforms. Revi is here to make that process much more informative and efficient, ensuring that consumers put their money towards quality purchases.
What it does
🧐 Revi analyzes ratings from major retailers across the internet, such as Amazon, Walmart, and more niche retailers like Sephora, and provides a weighted average across tens of thousands of reviews. Further, it summarizes social media review content from YouTube and TikTok, assigns a rating to it, and provides a link to the post.
How we built it
⚙️ Revi is a Flask app that uses Python for the backend and JS/HTML/CSS for the frontend. We use Oxylab's Web Scraper API to retrieve ratings, review counts, and images for products. For social media review pulling, we use the YouTube Data API and the EnsembleData TikTok API to search for relevant review posts on YouTube and TikTok, respectively. We then use yt-dlp to download audio from these videos as mp3, transcribe the videos with OpenAI's Whisper API, and finally feed the video metadata (such as the title and description/caption) and transcribed content into OpenAI's gpt-4-turbo to assign a star rating to the review and concisely summarize the content into a review format.
What's next
🔜 Looking to the future, we envision Revi's business model to be a subscription-based platform that prompts users to pay for more than three queries a month. Technically, this means that we would have to build out user management and ensure that the application is scalable for deployment. We also see pathways to monetization through running ads or collecting user data. We aim to deploy Revi to make it accessible to all, but the heavy API usage required for the platform to analyze reviews will be costly at scale. We also plan to integrate more social media platforms into our aggregation mechanism, along with embedded video viewing and support for non-english videos. Eventually, we will provide users with tailored recommendations based on their query and viewing history, using our advanced review analysis platform to suggest products that they will likely enjoy based on the opinions of thousands of others!
Revi
Aggregated, AI-generated reviews to help you make good purchases in seconds.
Setup
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Copy
.env.templateto a new file named.env:
cp .env.template .env- Fill in your API keys in the
.envfile:YOUTUBE_API_KEY: Get from Google Cloud ConsoleOPENAI_API_KEY: Get from OpenAIOXYLABS_USER,OXYLABS_PASS: Get from OxylabsENSEMBLEDDATA_API_KEY: Get from EnsembleDataPERPLEXITY_API_KEY: Get from Perplexity
All these APIs are required for full functionality.
- Copy
-
Run the application:
python app.py
- Open your browser and visit:
http://localhost:5000
Analysis
View
Metric
- 15
- 4
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
6 of 6 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
90 KB
Source files
13
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Bloomh/revi
16 files · 90 KB · @ f58797a
Structure
Interface
2 files · 13%Screens, components and styles rendered to the user.
Application logic
7 files · 44%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python62%
- CSS16%
- HTML11%
- JavaScript10%
- Markdown1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 9- Flask
- google-api-python-client
- google-auth
- google-auth-oauthlib
- httpx
- langdetect
- openai
- python-dotenv
- yt-dlp
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.