Project Info
This project did not submit a demo video on Devpost.
Inspiration
I use ChatGPT only for figuring out what I should be cooking for lunch/dinner. Which is ironic, considering I'm a student. A lot of the recipes I would find online would contain uncommon ingredients like Worcestershire sauce, or Water Chestnuts. As soon as I'd see this, I'd run to a different recipe. So I decided to conduct a market survey and figure out whether other students also face a similar problem.
What it does
It uses RAG to enhance the results that are generated by the LLM. It takes in an input of ingredients in your pantry, and uses that to generate a recipe for you, making sure there's no other ingredients that you don't have at hand. How I built it React frontend, express backend, and a MongoDB data store. I also used LlamaIndex for managing the RAG knowledge base, which integrates into an OpenAI LLM API call. Challenges I ran into The lack of a team. As soon as I realized that I may have to go solo, I needed to prioritize building of the app. I had to cut off some features, and make sure that I have an MVP that's up and running. Integrating the RAG model was also super complex, since I didn't understand anything. Accomplishments that I'm proud of I learned an entirely new concept - Retrieval Augmented Generation (RAG) in under 24 hours. The entire core backend of the project works. I got stuck 100 times. Got unblocked 99 times. What I learned This is definitely a team effort. I wanted to give up. But there's something inside me that doesn't let me do that. What makes Stanford Stanford. Just listening to other students talk about their ideas, it felt amazing. I felt extremely out of place, but it was magical.
What's next
A much more refined RAG infusion, complete with a vector store. The ability to adjust portion sizes based on the person's fitness activity levels, via a health/smartwatch API Users can rate the recipes they made. The app will generate a flavor profile, and adjust future recipes according to that. This might employ the use of AI Agents.
Analysis
View
Metric
- 28
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
- ExpressIn code
- HTMLIn code
- JavaScriptIn code
- LlamaIndexIn code
- MongoDBIn code
- OpenAIIn code
- TypeScriptIn code
- Node.jsClaimed
- ReactClaimed
8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
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
3.2 MB
Source files
34
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Ring-A-Bell/TreeHacks2024
61 files · 18.0 MB · @ 5ae4b56
Structure
Application logic
17 files · 28%Domain rules, services and shared utilities.
Data & schema
5 files · 8%Schema definitions, migrations and data access.
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
- JavaScript99%
- TypeScript1%
- CSS0%
- HTML0%
- YAML0%
- Markdown0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 22- api
- axios
- body-parser
- cors
- dotenv
- express
- express-session
- llamaindex
- mongoose
- nanoid
- openai
- passport
- passport-google-oauth20
- +9 more
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.