Project Info
Inspiration
Jumping from study habit to study habit is a loop hole, and I had been stuck in it for a long time! I wanted to build something which had intersection in the domains of studying, neuroscience, and computer science, so I built DeeR. I can finally scrap all the useless apps that I have and be proud to use my own :D Heavily reccommend watching this video: https://youtube.com/shorts/icfI_iVLeRs?si=1AhrOj9470H4WgDW since its the basis of this entire project
What it does
DeeR is an AI-powered study companion that: Uses AI to detect emotional conditions which I have a hard time recognizing about myself Implements the Feynman technique, one of the best approaches in learning techniques that has served me well for the past few weeks, which actively makes me understand rather than brute force remembrance Adds Study Cycles Creates workflows Generates nice summaries from PDFs, PPTs, and other document formats Emotional Analysis to see when you are distressed and reccommending you to take a break Hume Model to talk about what you learned about to improve your recalling and retention
Challenges we ran into
Cartesia API credits reaching 662% of the free usage limit 🤭 Hume API requiring manual screenshots for each inference rather than connecting through WebSockets Managing time and presenting solo
Accomplishments we're proud of
Integrating multiple technologies and participating in various tracks, especially as a solo developer Overcoming anxiety by participating in competitions like these Successfully building a functional prototype of DeeR
What we learned
Solo hackathons are long but fun No merge conflicts when working alone! Discovered interesting aspects of Hume and Deepgram's model training approaches Improved skills in working with WebSockets and fetch requests Enhanced ability to read documentation and manage time effectively
What's next
Adding authentication for user accounts Adding advice on what to do when the person is distressed Implementing multi-user support with individual LLM preferences Adding a feature to skip voice lines by Cartesia Fine-tuning models for better outcomes Made with ❤️
DeeR (Deep Retention) 🦌

About DeeR
DeeR is an emotionally intelligent AI study companion that helps students learn and retain information. Born from the intersection of neuroscience, computer science, and educational psychology, DeeR implements the renowned Richard Feynman technique while actively monitoring and responding to students' emotional states during their learning journey.
The Challenge Being Addressed
In today's fast-paced academic environment, an alarming 70% of students develop mental health issues due to academic pressure. The rapid scaling of course difficulty often leaves students struggling to keep pace, leading many to abandon their passions or drop out entirely. Traditional solutions often focus on external study techniques, overlooking a crucial internal factor: emotions. Research shows that we are constantly emotional beings, with blood flowing through our brain's emotional circuitry at all times, significantly impacting our ability to learn and retain information.

Our Solution
DeeR takes a revolutionary approach by combining emotional intelligence with proven learning techniques. Studies have demonstrated that positive emotional states like concentration and calmness can increase retention by up to 50% during study sessions. Conversely, distress can decrease learning efficiency by 30% and trigger negative feedback loops that erode self-confidence and academic performance.
Our platform actively monitors emotional states through advanced AI, detecting subtle changes in concentration, calmness, and distress levels. When the system identifies optimal learning conditions, it encourages continued engagement. If signs of distress appear, DeeR provides timely interventions to prevent negative spirals and maintain effective learning patterns.

Key Features
DeeR seamlessly integrates multiple technologies to create a comprehensive learning environment. The platform performs real-time emotion detection using sophisticated AI models (DeepGram to record stutters and Hume for getting Emotions through voice!), while implementing the Feynman technique to enhance understanding and retention. Users can create customized study cycles and workflows, while the system automatically generates concise summaries from various document formats.
When users show signs of distress, DeeR intelligently suggests breaks and adjustments to maintain optimal learning conditions.

Getting Started
To run DeeR locally, follow these simple steps:
# Clone the repository
git clone https://github.com/yourusername/deer.git
cd deer
# Install dependencies
pip install -r requirements.txt
npm install
# Run the application
python server.py # Backend
npm run dev # Frontend
The Team
DeeR was developed as a solo project by me🦌, a Computer Science student at UCI, during Cal Hacks 11.0. This project represents a fusion of personal experience with academic challenges and a desire to create meaningful solutions for students worldwide.
I would also like to thank HealthyGamerGG, since without their inspiration I couldn't come up with this idea and I would also be stuck in that Negative Feedback Loop!
Acknowledgments
This project wouldn't have been possible without the support of Cal Hacks 11.0, our API providers, and the broader neuroscience research community. Their contributions have been instrumental in creating a tool that we believe will make a real difference in students' academic journeys.
Made with ❤️ at Cal Hacks 11.0
Analysis
View
Metric
- 55
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
- FastAPIIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
7 of 8 appear in the indexed code. 1 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
93 KB
Source files
30
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Priyansh4444/DeeR
70 files · 10.9 MB · @ 9d585e8
Structure
Interface
20 files · 29%Screens, components and styles rendered to the user.
Application logic
11 files · 16%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
- TypeScript81%
- Python12%
- Markdown4%
- CSS3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 36- @cartesia/cartesia-js
- @deepgram/sdk
- @humeai/voice-react
- @radix-ui/react-icons
- @radix-ui/react-scroll-area
- @radix-ui/react-slot
- @radix-ui/react-toast
- @react-three/drei
- @react-three/fiber
- agora-rtc-react
- agora-rtc-sdk-ng
- class-variance-authority
- clsx
- cross-fetch
- dotenv
- formidable
- framer-motion
- hume
- +18 more
requirements.txt
pypi · 13- chromadb
- fastapi
- google-generativeai
- groq
- hume
- numpy
- opencv-python
- perplexity
- pydantic
- PyPDF2
- python-dotenv
- requests
- uvicorn
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
AI-based emotional/distress detection via facial expression analysisVerified
Uses AI to detect emotional conditions (Calmness, Concentration, Distress) and warns when distressed
Claimed on readmehigh confidenceserver.py:120— process_image_stream sends webcam frames to Hume's expression measurement stream API and returns Calmness/Concentration/Distress scoressrc/components/EmotionalAnalysis.tsx:44— Frontend connects to the /ws websocket, receives emotion scores, and toasts a distress warning when the Distress score exceeds 50%
Cartesia text-to-speech playbackVerified
Built with cartesia
Claimed on Devposthigh confidencesrc/hooks/api.ts:102— playAudioMessage opens a Cartesia TTS websocket and plays the synthesized audio; called from useMessages.ts for assistant responses
Deepgram speech-to-text (stutter recording)Verified
DeepGram to record stutters
Claimed on readmemedium confidencesrc/hooks/SpeechToText.ts:69— useSpeechToText streams recorded audio to Deepgram's live transcription API and returns the transcript
FastAPI/Python backendVerified
Built with fastapi, python
Claimed on Devposthigh confidenceserver.py:5— FastAPI app defined with multiple REST and websocket endpoints
Feynman technique study/voice coachingVerified
Implements the Feynman technique to improve understanding and recall
Claimed on readmehigh confidencesrc/components/HumeVoiceComponent.tsx:44— System prompt explicitly instructs the Hume voice AI to teach using the Feynman technique and give feedbacksrc/components/Timer.tsx:6— TutorialStudyFeynmanTimer cycles between a 2-minute study phase and a 30-second Feynman explanation phase
Hume voice model to discuss what was learnedVerified
Hume Model to talk about what you learned about to improve your recalling and retention
Claimed on Devposthigh confidencesrc/components/HumeVoiceComponent.tsx:31— VoiceProvider from @humeai/voice-react is wired with an access token and a Feynman-technique system prompt to converse about the studied material
Multi-model learning chain (Hyperbolic, Gemini, Groq)Verified
Built with hyperbolic, gemini, groq, llama
Claimed on Devposthigh confidenceperplexity.py:17— Sequential calls to Hyperbolic (Llama 3.1 70B) for initial analysis, Gemini for simplification/Feynman explanation, and Groq (llama3-8b) for analogies and final summary
Next.js/TypeScript/Tailwind frontendVerified
Built with nextjs, tailwindcss, typescript
Claimed on Devposthigh confidencepackage.json:32— next, tailwindcss, and typescript listed as dependencies and used throughout src/app and src/components
RAG document storage/retrieval with ChromaDBVerified
Built with chromadb
Claimed on Devposthigh confidenceserver.py:51— Persistent chromadb client and collection used in /add-to-chroma, /query-chroma, and /upload-file endpointssrc/hooks/api.ts:11— Frontend addToChromaDB/getRelevantContext call the backend Chroma endpoints before generating a summary
Study cyclesVerified
Adds Study Cycles
Claimed on Devpostmedium confidencesrc/components/Timer.tsx:10— cycles state tracks completed study/explanation cycle counts and is shown in the UI
WebSockets architectureVerified
Improved skills in working with WebSockets and fetch requests / built with websockets
Claimed on Devposthigh confidenceserver.py:177— FastAPI /ws websocket endpoint streams webcam frames for emotion analysissrc/components/EmotionalAnalysis.tsx:32— Frontend uses ReconnectingWebSocket to connect to the backend /ws endpoint
Document summarization from PDFs, PPTs, and other formatsCode-supported
Generates nice summaries from PDFs, PPTs, and other document formats
Claimed on Devpostmedium confidenceserver.py:91— upload_file parses PDF content with PyPDF2 and plain text files, but any other type including .ppt/.pptx falls into an else branch that just stores the filename as a placeholder string, no real PPT parsingperplexity.py:8— multi_model_learning_chain (Hyperbolic -> Gemini -> Groq) generates the actual summary/explanation text from provided context
Workflow guide/creationCode-supported
Creates workflows
Claimed on Devpostlow confidencesrc/components/RagUpload.tsx:63— WorkflowGuide component shows a static, hardcoded 3-step 'Next.js Learning Path' after a file upload; not a dynamically generated or user-created workflow
Multi-user support with per-user LLM preferencesClaimed only
What's next: Implementing multi-user support with individual LLM preferences
Claimed on Devposthigh confidenceSkip voice lines featureClaimed only
What's next: Adding a feature to skip voice lines by Cartesia
Claimed on Devposthigh confidenceUser authentication for accountsClaimed only
What's next: Adding authentication for user accounts
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.