Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

StudyBuddy 📚

an AI study assistant i built for a hackathon. you create subjects, upload your notes/slides, and it quizzes you, explains stuff, or generates mock exams based on what you uploaded. pretty useful honestly

what it does

  • create different subjects (like "ML" or "OS" or whatever)
  • upload your lecture notes, slides, pdfs etc
  • 3 modes:
    • Explain — just chat with it, ask it to explain stuff
    • Quiz Me — it generates 5 questions from your notes, focuses on weak topics if it remembers them
    • Mock Exam — generates a full exam. if you upload an exam schema it'll actually follow the format

it remembers what topics you're bad at across sessions which is kinda cool

tech stack

  • Next.js 14 (app router)
  • Tailwind CSS
  • Backboard API (for the AI assistant + document indexing)
  • localStorage (no database lol, keeps it simple)

setup

you need a Backboard API key. create a .env.local file in the root:

NEXT_PUBLIC_BACKBOARD_API_KEY=your_key_here

then just:

npm install
npm run dev

open http://localhost:3000 and you're good

how it works under the hood

on first load it creates an AI assistant via the Backboard API and saves the ID to localStorage. each subject you create is actually a "thread" in Backboard. when you upload a file it polls until the document is indexed, then you can start chatting.

all the API calls are in lib/backboard.ts if you want to look

file structure

/app
  page.tsx          - main shell (sidebar + content)
  layout.tsx
/components
  Sidebar.tsx
  SubjectView.tsx
  ChatArea.tsx
  DocumentsPanel.tsx
  ModeSelector.tsx
  CreateSubjectModal.tsx
  Toast.tsx
/lib
  backboard.ts      - all API calls
  storage.ts        - localStorage helpers
/types
  index.ts          - typescript types

known issues / things i didn't get to

  • no user auth (everything is stored locally per browser)
  • file upload can be slow depending on document size
  • probably doesn't work great on mobile

notes

built with Next.js 16 + React 19. uses react-markdown so the AI responses render properly with formatting and stuff

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages