# Project export: StudyWorld

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: CruzHacks 2026
- Tagline: A gamified focus-first study environment where AI adapts to how you learn and not just what you type all powered by OpenNote memory.
- Devpost: https://devpost.com/software/studyworld
- GitHub: https://github.com/ShryukGrandhi/StudyHub
- Video: https://www.youtube.com/embed/UJZo9x0KfJo?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: 1 GitHub contributor(s) — ShryukGrandhi (2 commits)

## Devpost submission (written by the team)

### Inspiration

Studying today is fragmented: assignments live in one place, class files in another, and “AI help” usually lives in a separate chat tab. Even when students use AI, the tool typically has no idea what happens after it responds—whether the student actually understood, got distracted, or became dependent on asking for the next step. We wanted a workspace that feels like a place to study, where focus and learning are supported in real time, not just through prompts.

### What it does

StudyWorld is a pixel-style student “office” where you can interact with specialized AI teacher agents organized by department (Math, Science, English) and then enter the Focus Room—the core experience—where you lock in on real tasks. In the Focus Room, students can: Choose tasks/assignments and run a timed study session Ask subject specialists for guided help and explanations Get learning supports like structured guidance and visual explanations (including Manim-style visuals) Use a real-time computer-vision attention signal layer to detect engagement drops during study and provide supportive interventions View session insights and AI decisions logged with timestamps It also integrates with Opennote as the long-term learning workspace/memory layer, so studying becomes continuous across sessions rather than isolated chats.

### How we built it

Frontend: A web app with a pixel-office hub world and a Focus Room page for sessions, tasks, and specialist interaction AI agents: Department-based “teacher” agents designed to guide learning with subject-appropriate styles Focus Room signals: Integrated a live CV pipeline (OpenCV-based) to derive attention/engagement signals during study sessions Logging & insights: Session events and AI decisions are captured with timestamps and displayed in the UI Opennote integration: Used Opennote as the central workspace for study artifacts and structured session insights so the system can “pick up where you left off”

### Challenges we ran into

Not becoming “just another chatbot”: We focused on making StudyWorld a learning environment with a dedicated Focus Room rather than a chat-first app. Designing CV support responsibly: We wanted the focus signals to feel helpful—not punitive—while avoiding storing sensitive raw video. Making adaptive behavior explainable: Logging decisions in a way that’s understandable and tied to timestamps and session context. Meaningful Opennote integration: Ensuring Opennote is used as a real memory/workspace layer, not a simple export button.

### Accomplishments we're proud of

Built a gamified office UI that makes studying feel like an interactive space Shipped a working Focus Room that combines tasks, timed sessions, specialist help, and real-time engagement signals Implemented timestamped decision/insight logging so the system isn’t a black box Integrated Opennote as a backbone for continuity across sessions

### What we learned

The biggest gap in AI studying tools isn’t generating answers—it’s structure, timing, and follow-through. UI/UX changes how people learn: making it feel like a “place” increases engagement compared to a blank chat box. Explainability matters: if a system adapts in real time, users need to see why it changed course.

### What's next

Build a full knowledge graph view that visually shows how concepts connect over time using Opennote’s logged artifacts and relationships Add deeper student/teacher analytics (focus patterns, misconception trends, intervention effectiveness) Improve personalization: adapt focus plans and teaching style based on longer-term patterns and outcomes Expand interactive learning modes (retrieval drills, spaced repetition scheduling, and more visual-first explanations)

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

Indexed codebase: 30 recognized source files, 646 KB.
- CSS (language) — detected in the code
- FastAPI (technology) — detected in the code
- JavaScript (language) — detected in the code
- Next.js (technology) — detected in the code
- Python (language) — detected in the code
- React (technology) — detected in the code
- Tailwind CSS (technology) — detected in the code
- TypeScript (language) — detected in the code
- AI coding agent: Claude Code — evidence: config files committed to the repository

## Codebase structure (from repository index)

### Files (37 of 37)

```
.claude/settings.local.json
.gitignore
backend/__init__.py
backend/debug_context.py
backend/debug_video.py
backend/main.py
backend/manim_96e99001-be71-455f-b211-6f3fd51f7538.py
backend/requirements.txt
backend/seed_data/english_hamlet.md
backend/seed_data/math_derivatives.md
backend/seed_data/science_photosynthesis.md
backend/seed_journals.py
backend/vid.txt
check_cv.py
check_gemini.py
frontend/next-env.d.ts
frontend/next.config.js
frontend/package.json
frontend/src/app/globals.css
frontend/src/app/layout.tsx
frontend/src/app/page.tsx
frontend/src/components/ChatFlashcards.tsx
frontend/src/components/CodeViewer.tsx
frontend/src/components/FocusRoom.tsx
frontend/src/components/FocusTracker.tsx
frontend/src/components/KumospaceCharacter.tsx
frontend/src/components/PixelCharacter.tsx
frontend/src/components/SimpleCharacter.tsx
frontend/src/components/VoiceInterface.tsx
frontend/src/hooks/useVoiceSession.ts
frontend/src/lib/livekit-voice.ts
frontend/tsconfig.json
frontend/tsconfig.tsbuildinfo
manim_07ad941a-aeae-4d88-baed-42443cfab32c.py
MASTER_VOICE_AGENT_PROMPT.md
README.md
update_prompt.py
```

### Dependencies

- backend/requirements.txt: aiohttp, fastapi, google-generativeai, httpx, livekit-api, mediapipe@>=0.10.0, numpy, opencv-python, pillow, pydantic, PyJWT, python-dotenv, python-multipart, requests, uvicorn[standard], websockets
- frontend/package.json: @livekit/components-react@^2.0.0, @livekit/track-processors@^0.3.0, @pixi/react@^7.1.0, @types/node@^20.11.0, @types/react@^18.2.48, @types/react-dom@^18.2.18, autoprefixer@^10.4.17, eslint@^8.56.0, eslint-config-next@^14.1.0, framer-motion@^11.0.0, livekit-client@^2.0.0, lucide-react@^0.323.0, next@^14.1.0, pixi.js@^8.0.0, postcss@^8.4.35, react@^18.2.0, react-dom@^18.2.0, swr@^2.2.4, tailwindcss@^3.4.1, typescript@^5.3.3, zustand@^4.5.0

### Recent commits (newest first)

- feat: Add auto-engagement video generation on distraction detection
- Initialize StudyHub (Secure)

## Key source files (fetched from GitHub, selected and truncated for size)

Source contents could not be fetched from GitHub right now.

[29 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]