Project Info
The problem/
Inspiration
We wanted to build a web and mobile app for study tools that are generated from our own notes. We found that other online platforms who offer something similar lack certain features and decided to build a platform that remedies that need.
What it does
Our web-app is an online study-tool that generates study tools such as practice exams, flashcards, or short form quizzes using your own notes. We used a multi-agent AI system to handle summarization, flash card and Q&A generation. We then implemented LLM content validation to ensure materials are logical and accurate.
How we built it
We used the Fetch.AI framework along with the Groq library LLM integration to create a multi-agent study tool generation system. We used agents to ensure content is validated at each step of the content generation, which served to reduce hallucinations in LLM content. Our front end was built using React and our rich text editor incorporated TinyMCE, with a python backend handling agent communication through post requests and context handling. User authentication was handled with Firebase.
Challenges we ran into
It was 3 of our members' first hackathon so understanding efficient development as a team took time. We experienced challenges like feature creep, and merge-conflicts, but by working together and using our mentors we pulled through. Eventually, we managed to build an effective functioning product with lots more potential.
Analysis
View
Metric
- 61
- 16
- 12
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
- FirebaseIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
8 of 8 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
69 KB
Source files
44
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
smh-94/calhacksofficehours
87 files · 1.0 MB · @ 42c4433
Structure
Interface
18 files · 21%Screens, components and styles rendered to the user.
API & routing
2 files · 2%Request entry points: routes, handlers and controllers.
Application logic
35 files · 40%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
- JavaScript60%
- Python32%
- Markdown5%
- HTML2%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
react-front/package.json
npm · 16- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- @tinymce/tinymce-react
- express
- firebase
- multer
- react
- react-dom
- react-router-dom
- react-scripts
- tailwind
- web-vitals
- +3 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.
Feature verification
Fetch.ai uAgents framework used to build agent systemVerified
We used the Fetch.AI framework...to create a multi-agent study tool generation system
Claimed on Devposthigh confidenceagents/bureau.py:1— Imports and uses uagents.Bureau to combine multiple Agent instancesagents/contentChecker.py:2— Uses uagents Agent, Context, Model, and fund_agent_if_low from the Fetch.ai uagents SDK
Firebase user authenticationVerified
User authentication was handled with Firebase
Claimed on Devposthigh confidencereact-front/src/contexts/AuthContext.js:19— signUp/logIn/logOut wrap Firebase's createUserWithEmailAndPassword, signInWithEmailAndPassword, and signOutreact-front/src/config/firebase.js:15— Firebase app initialized and getAuth exported for use in AuthContext
Groq LLM integrationVerified
along with the Groq library LLM integration
Claimed on Devposthigh confidenceagents/contentCleaner.py:25— Instantiates a Groq client with GROQ_API_KEY and calls chat.completions.create with model llama3-8b-8192agents/quiz_generator.py:40— Groq client used to combine quiz JSONs via chat completion
Project name/repo (calhacksofficehours)Verified
calhacksofficehours
Claimed on readmehigh confidenceREADME.md:1— README title matches the repo/project name claim
Python backend handling agent communication via POST requestsVerified
a python backend handling agent communication through post requests and context handling
Claimed on Devposthigh confidenceagents/contentCleaner.py:82— on_rest_post('/rest/post', ...) handler receives a POST request with a filename and kicks off the agent pipeline via ctx.sendreact-front/src/pages/ExamPage.jsx:79— Frontend POSTs to /rest/post with a filename to trigger note processing
React front endVerified
Our front end was built using React
Claimed on Devposthigh confidencereact-front/src/App.js:1— React app entry with routed pages (Home, Note, Login, SignUp, Landing)react-front/package.json— Lists react-router-dom and other React dependencies
TinyMCE rich text editor for notesVerified
our rich text editor incorporated TinyMCE
Claimed on Devposthigh confidencereact-front/src/pages/NotePage.jsx:18— Imports @tinymce/tinymce-react Editor and renders it with an apiKey and plugin/toolbar config for note editingreact-front/package.json— @tinymce/tinymce-react is a listed dependency
LLM content validation to reduce hallucinationsCode-supported
We then implemented LLM content validation to ensure materials are logical and accurate...agents to ensure content is validated at each step
Claimed on Devpostmedium confidenceagents/contentChecker.py:34— summary_check_prompt asks an LLM to verify a summary against original notes for missing/incorrect info, and content_cleaner incorporates this feedback into a revised summaryagents/quizCheck.py:44— A separate quiz-checking agent exists but its on_message handler is entirely commented out, so this validation path is not actually active
Multi-agent system for summarization, flashcard, and Q&A generationCode-supported
Used a multi-agent AI system to handle summarization, flash card and Q&A generation
Claimed on Devpostmedium confidenceagents/bureau.py:8— Bureau registers true_or_false, quiz_generator, short_answer, content_checker, content_cleaner agents togetheragents/contentCleaner.py:82— content_cleaner summarizes notes then sends to short_answer and true_or_false agents, which generate quiz questionsagents/quizAgent.py:22— A separate quizAgent duplicates the short_answer agent's name/port/seed (both 'quizAgent'/'quizphrase'/8002), suggesting incomplete/inconsistent wiring across agents
Note-taking and study tool generator (overall product)Code-supported
An all-in-one note-taking and study tool generator
Claimed on Devpostmedium confidencereact-front/src/pages/NotePage.jsx:1— NotePage combines a note editor (TinyMCE, Firestore persistence) with an exam/study tool generator triggered from FuncBar
Study tool generation from user notes (practice exams, flashcards, quizzes)Code-supported
Generates study tools such as practice exams, flashcards, or short form quizzes using your own notes
Claimed on Devpostmedium confidencereact-front/src/pages/ExamPage.jsx:62— Fetches generated quiz JSON from backend and renders it via TestWindow (practice test) and Flashcard componentsagents/quiz_generator.py:44— Combines short-answer and true/false quiz JSON into a final quiz written to quiz_data.jsonreact-front/src/pages/ExamPage.jsx:186— The 'Summary' view is hardcoded static HTML for two specific note titles (Genetics/Physics), not actually generated from user notes, showing the pipeline is not fully wired end-to-end
Mobile app for study toolsClaimed only
We wanted to build a web and mobile app for study tools generated from our own notes
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.