Project Info
This project did not submit a demo video on Devpost.
Inspiration
We wanted to create a study bot that felt less invasive into our studying environments. Do you ever just wish your friend would just sit there and respond occasionally to your monologue? We wanted to create an idea off of that.
What it does
Using 3 personas that we have built, we can tailor our study environments and vibes to match what we are feeling. Simply just use the voice controls and talk to our Study Buddy AI. It can understand how you feel through your tone and offer feedback specifically to your perceived emotions.
How we built it
with love. (and hume.ai+gemini+love)
Challenges we ran into
We had the most trouble with merge conflicts. Some of us occasionally thought about pivoting majors.
Accomplishments we're proud of
We got one of our buttons to be the most beautiful color.
What we learned
Perseverance.
What's next
More tailored study models.
This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
Learn More
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
Deploy on Vercel
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Analysis
View
Metric
- 9
- 6
- 5
- 3
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
- Google GeminiIn code
- JavaScriptIn code
- Next.jsIn code
- ReactIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn 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
48 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
geedbee/calhacks24
68 files · 7.0 MB · @ da1ddbf
Structure
Interface
36 files · 53%Screens, components and styles rendered to the user.
+2 moreApplication logic
7 files · 10%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
- TypeScript49%
- JavaScript46%
- Markdown3%
- XML1%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 24- @emotion/react
- @emotion/styled
- @google/generative-ai
- @humeai/voice-react
- @langchain/google-genai
- @mui/icons-material
- @mui/material
- @supabase/supabase-js
- axios
- cheerio
- hume
- next
- react
- react-awesome-reveal
- react-dom
- remeda
- +8 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
Gemini-powered AI chat/response generationVerified
with hume.ai+gemini+love
Claimed on Devposthigh confidenceapp/components/Model.tsx:14— GoogleGenerativeAI client instantiated and gemini-1.5-flash model called with conversation history to generate responses
Next.js application built with React, MUI, TailwindVerified
next.js, react.js, materialui, tailwindcss
Claimed on Devposthigh confidencepackage.json:16— next, react, @mui/material, tailwindcss all listed as dependencies and used throughout app/ componentstailwind.config.ts:1— Tailwind config present and referenced by globals.css
Real-time transcript/conversation displayVerified
implied by voice conversation UX in description
Claimed on readmemedium confidenceapp/components2/Messages.tsx:12— useVoice().messages consumed and pushed into conversation history, rendered via Assistant/User components
Voice conversation via Hume AI (voice controls to talk to Study Buddy)Verified
Simply just use the voice controls and talk to our Study Buddy AI
Claimed on Devposthigh confidenceapp/page1/VoicePage.tsx:6— fetchAccessToken from hume package retrieves a Hume access token on mountapp/components/Controls.tsx:11— useVoice() hook drives mute/unmute/disconnect controls for the live voice call
Axios usage (web scraping utility)Code-supported
axios listed in Built With
Claimed on Devpostmedium confidenceapp/page3/webscraper.ts:2— Axios imported for what appears to be a webscraper utility, but page3 is not linked from the main navigation flow observed
Emotional intelligence / real-time tone-based feedbackCode-supported
It can understand how you feel through your tone and offer feedback specifically to your perceived emotions
Claimed on Devpostmedium confidenceapp/components2/Sentiment.tsx:6— Component sorts and takes the top 3 entries of a values object (matches shape of Hume prosody expression scores)utils/expressionLabels.ts:1— Map of Hume expression keys to human-readable labels, scaffolding for displaying detected emotionsutils/expressionColors.ts:1— Map of Hume expression keys to colors, scaffolding for displaying detected emotionsapp/components2/Assistant.tsx:2— Imports Sentiment but never renders it in JSX, so prosody scores are not actually surfaced to the userapp/components2/User.tsx:2— Imports Sentiment but never renders it in JSX, so prosody scores are not actually surfaced to the user
Three selectable personas tailoring the study environmentCode-supported
Using 3 personas that we have built, we can tailor our study environments and vibes to match what we are feeling
Claimed on Devpostmedium confidenceapp/page2/otherPage/Selection.jsx:81— UI renders 3 selectable persona cards (Tutor, BuddyBuddy, Your Therapist) with a 'Start!' button that navigates to /page5app/data.js:1— tutorList defines 3 persona description strings (lebron, turtle, pikachu), but selectedCharacter state in Selection.jsx is never passed into the session or used to select a prompt/persona downstream
More tailored study models (future work)Claimed only
What's next for Study Buddy: More tailored study models
Claimed on Devposthigh confidenceGitHub-based collaborationBlocked
github listed in Built With
Claimed on Devpostlow 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.