|
1 | | -# Study Buddy AI |
| 1 | +# Study Buddy |
2 | 2 |
|
3 | 3 | <!-- BADGES:START --> |
4 | 4 | [](https://github.com/topics/ai-tutor) [](https://github.com/topics/css) [](https://github.com/topics/desktop-application) [](https://github.com/topics/electron) [](https://github.com/topics/javascript) [](https://github.com/topics/local-inference) [](https://github.com/topics/privacy-focused) [](https://github.com/topics/typescript) [](https://github.com/topics/offline-application) [](https://github.com/topics/edtech) |
5 | 5 | <!-- BADGES:END --> |
6 | 6 |
|
7 | | -> 🎓 An open-source AI personal tutor that runs locally on your computer |
8 | | -> |
9 | | -> Based on [Llama Tutor](https://github.com/Nutlope/llamatutor) by [@nutlope](https://github.com/nutlope) |
| 7 | +> An open-source AI personal tutor that runs entirely on your computer. Private by design. Bring your own model. |
10 | 8 |
|
11 | 9 | [](https://opensource.org/licenses/MIT) |
12 | 10 | [](https://nextjs.org/) |
13 | 11 | [](https://www.electronjs.org/) |
14 | 12 |
|
15 | | -## About |
| 13 | +## Why Study Buddy? |
16 | 14 |
|
17 | | -Study Buddy is a desktop application that provides personalized AI tutoring without requiring internet access, accounts, or risking API abuse. It's a fork of the excellent Llama Tutor project, enhanced with: |
| 15 | +Most AI tutoring tools require you to create an account, hand over your data, and pay a subscription. NotebookLM needs a Google account. ChatGPT needs OpenAI. DeepTutor needs uploads and cloud processing. They're powerful, but they're not private, and they're not yours. |
18 | 16 |
|
19 | | -- 🔌 **Provider-agnostic architecture** - Use Ollama (local), OpenAI, Together AI, or others |
20 | | -- 🖥️ **Desktop application** - Runs securely on your computer via Electron |
21 | | -- 🔒 **Privacy-first** - Default local mode means your data never leaves your device |
22 | | -- 💰 **Free to use** - No API costs with local Ollama mode |
23 | | -- 🎯 **Student-focused** - Simple interface designed for learners |
| 17 | +Study Buddy takes a different approach: |
24 | 18 |
|
25 | | -## Features |
| 19 | +**You own the whole stack.** The app runs on your laptop. The AI runs on your laptop (via Ollama). Your questions, your notes, your learning — none of it leaves your machine. There's no account to create, no data to leak, no subscription to cancel. |
26 | 20 |
|
27 | | -- 📚 Generate comprehensive tutorials on any topic |
28 | | -- 🔍 Smart search integration for enriched content |
29 | | -- 💬 Interactive chat for follow-up questions |
30 | | -- 🎨 Clean, intuitive interface |
31 | | -- 📱 Works offline after initial setup |
32 | | -- ⚡ Fast local inference with Ollama |
| 21 | +**It does one thing well.** Type a topic, get a grounded tutor. Study Buddy searches the web for sources, reads them, and uses that content to teach you — reducing hallucinations and keeping answers factual. It's a focused conversation, not a research platform. When the session ends, you take away what you learned. Like a real tutor. |
33 | 22 |
|
34 | | -## Installation |
| 23 | +**It's designed for students, not power users.** The interface uses plain language (not developer jargon), generous whitespace, and a calm visual style built specifically for university students — including ESL learners who are already spending mental energy working in a second language. Settings say "Secret key" not "API Key", "AI Brain" not "Model". |
35 | 24 |
|
36 | | -### Prerequisites |
| 25 | +**Bring your own key, or don't.** Works with Ollama locally (free, no key needed) or any cloud provider you prefer — OpenAI, Anthropic, Google, Groq, Together AI. You choose where your data goes. |
37 | 26 |
|
38 | | -- Node.js 18+ installed |
39 | | -- (Optional) [Ollama](https://ollama.com/) for local AI - recommended for students |
| 27 | +## How it works |
40 | 28 |
|
41 | | -### Quick Start |
| 29 | +Study Buddy is a simple grounded tutor — a lightweight RAG (retrieval-augmented generation) pipeline that runs fresh for each session: |
42 | 30 |
|
43 | | -1. **Download the latest release** from the [Releases page](https://github.com/michael-borck/study-buddy/releases) |
44 | | - - Windows: `StudyBuddy-Setup-x.x.x.exe` |
45 | | - - macOS: `StudyBuddy-x.x.x.dmg` |
46 | | - - Linux: `StudyBuddy-x.x.x.AppImage` |
| 31 | +1. **You type a topic** and choose an education level (Elementary through Graduate) |
| 32 | +2. **Study Buddy searches the web** for relevant sources (DuckDuckGo by default — free, no key needed) |
| 33 | +3. **It reads those pages** and extracts the content |
| 34 | +4. **If the content is too large** for your model's context window, it auto-summarises the sources |
| 35 | +5. **The AI teaches you** from that grounded material at your chosen level, with an interactive quiz-style conversation |
| 36 | +6. **You ask follow-up questions** and the tutor responds in context |
47 | 37 |
|
48 | | -2. **Install and run** - that's it! Study Buddy will use Ollama if installed, or prompt for API configuration. |
| 38 | +You can also paste your own notes (lecture slides, textbook excerpts) and the tutor will teach from those alongside the web sources. |
49 | 39 |
|
50 | | -### Development Setup |
| 40 | +There's no persistent knowledge base, no embeddings, no vector store. Each session starts fresh. The simplicity is deliberate — it keeps the app fast, private, and easy to understand. |
51 | 41 |
|
52 | | -```bash |
53 | | -# Clone the repository |
54 | | -git clone https://github.com/michael-borck/study-buddy.git |
55 | | -cd study-buddy |
| 42 | +## What it's not |
56 | 43 |
|
57 | | -# Install dependencies |
58 | | -npm install |
| 44 | +Study Buddy is not trying to be NotebookLM, DeepTutor, or a general-purpose research assistant. It doesn't do multi-document analysis, audio generation, collaborative notebooks, or knowledge graphs. Those tools are excellent at what they do, but they require accounts, cloud processing, and complexity. |
59 | 45 |
|
60 | | -# Run in development mode |
61 | | -npm run electron-dev |
| 46 | +Study Buddy is for a student who wants to open an app, type "photosynthesis", and have a private, grounded conversation about it. Then close the app and get back to studying. |
62 | 47 |
|
63 | | -# Build for production |
64 | | -npm run electron-pack |
65 | | -``` |
66 | | - |
67 | | -## Configuration |
68 | | - |
69 | | -### AI Providers |
| 48 | +## Installation |
70 | 49 |
|
71 | | -Study Buddy supports multiple AI providers. Configure in Settings or via environment variables: |
| 50 | +### Download |
72 | 51 |
|
73 | | -#### Local (Recommended for Students) |
74 | | -```env |
75 | | -AI_PROVIDER=ollama |
76 | | -# No API key needed! Just install Ollama |
77 | | -``` |
| 52 | +Grab the latest release from the [Releases page](https://github.com/michael-borck/study-buddy/releases): |
78 | 53 |
|
79 | | -#### OpenAI |
80 | | -```env |
81 | | -AI_PROVIDER=openai |
82 | | -OPENAI_API_KEY=your_api_key_here |
83 | | -``` |
84 | | - |
85 | | -#### Together AI |
86 | | -```env |
87 | | -AI_PROVIDER=together |
88 | | -TOGETHER_API_KEY=your_api_key_here |
89 | | -``` |
| 54 | +- **Windows:** `StudyBuddy-Setup-x.x.x.exe` |
| 55 | +- **macOS:** `StudyBuddy-x.x.x.dmg` |
| 56 | +- **Linux:** `StudyBuddy-x.x.x.AppImage` |
90 | 57 |
|
91 | | -### Adding New Providers |
| 58 | +### Set up a local AI (recommended) |
92 | 59 |
|
93 | | -1. Create a new provider in `utils/providers/` |
94 | | -2. Implement the `LLMProvider` interface |
95 | | -3. Add to the provider factory in `utils/provider-factory.ts` |
| 60 | +1. Install [Ollama](https://ollama.com/) |
| 61 | +2. Pull a model: `ollama pull llama3.1:8b` |
| 62 | +3. Open Study Buddy — it connects to Ollama automatically |
96 | 63 |
|
97 | | -## Usage |
| 64 | +That's it. No account, no API key, no internet required after the model is downloaded. |
98 | 65 |
|
99 | | -1. **Launch Study Buddy** from your Applications/Programs |
100 | | -2. **Enter a topic** you want to learn about |
101 | | -3. **Click "Generate"** to create your personalized tutorial |
102 | | -4. **Ask follow-up questions** in the chat interface |
103 | | -5. **Save or export** your sessions for later review |
| 66 | +### Or use a cloud provider |
104 | 67 |
|
105 | | -## For Educators |
| 68 | +Open Settings and choose your provider (OpenAI, Anthropic, Google, Groq, Together AI). Add your secret key. Study Buddy works with any provider, but your questions will leave your machine. |
106 | 69 |
|
107 | | -Study Buddy can be deployed institution-wide: |
| 70 | +## Development |
108 | 71 |
|
109 | | -- **Self-hosted option**: Deploy the web version on your school's servers |
110 | | -- **Managed API keys**: Configure with your institution's API keys |
111 | | -- **Custom models**: Use your preferred AI models |
112 | | -- **Usage analytics**: Monitor usage with built-in observability |
| 72 | +```bash |
| 73 | +git clone https://github.com/michael-borck/study-buddy.git |
| 74 | +cd study-buddy |
| 75 | +npm install |
| 76 | +npm run electron-dev |
| 77 | +``` |
113 | 78 |
|
114 | | -See our [Educator's Guide](docs/EDUCATORS.md) for deployment instructions. |
| 79 | +### Project structure |
115 | 80 |
|
116 | | -## Technical Stack |
| 81 | +``` |
| 82 | +study-buddy/ |
| 83 | +├── app/ # Next.js App Router |
| 84 | +│ ├── api/ # API routes (chat, search, settings) |
| 85 | +│ ├── settings/ # Settings page |
| 86 | +│ └── page.tsx # Main tutor interface |
| 87 | +├── components/ # React components |
| 88 | +├── utils/ |
| 89 | +│ └── providers/ # LLM provider integrations |
| 90 | +├── main.js # Electron main process |
| 91 | +└── docs/ # Documentation |
| 92 | +``` |
117 | 93 |
|
118 | | -- **Frontend**: Next.js 14, React, TypeScript, Tailwind CSS |
119 | | -- **Desktop**: Electron |
120 | | -- **AI Integration**: Configurable providers (Ollama, OpenAI, Together AI) |
121 | | -- **Search**: Tavily API for enriched content |
122 | | -- **Analytics**: Helicone (optional) |
123 | | -- **Database**: Supabase (optional, for web deployment) |
| 94 | +### Technical stack |
124 | 95 |
|
125 | | -## Contributing |
| 96 | +- **Frontend:** Next.js 14, React, TypeScript, Tailwind CSS |
| 97 | +- **Desktop:** Electron |
| 98 | +- **Design:** Studio Calm (shared with [Talk Buddy](https://github.com/michael-borck/talk-buddy)) |
| 99 | +- **AI:** Ollama, OpenAI, Anthropic, Google, Groq, Together AI |
| 100 | +- **Search:** DuckDuckGo (default), Brave, Bing, Serper, SearXNG |
126 | 101 |
|
127 | | -We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. |
| 102 | +### Build for distribution |
128 | 103 |
|
129 | 104 | ```bash |
130 | | -# Fork the repo, then: |
131 | | -git clone https://github.com/michael-borck/study-buddy.git |
132 | | -cd study-buddy |
133 | | -npm install |
134 | | -npm run dev |
| 105 | +npm run build |
| 106 | +npm run electron-pack |
135 | 107 | ``` |
136 | 108 |
|
137 | | -## Roadmap |
| 109 | +## The Buddy suite |
138 | 110 |
|
139 | | -- [ ] Additional AI provider support (Anthropic, Cohere, local GGUF) |
140 | | -- [ ] Collaborative study sessions |
141 | | -- [ ] PDF/Document upload and analysis |
142 | | -- [ ] Study progress tracking |
143 | | -- [ ] Flashcard generation |
144 | | -- [ ] Mobile app (React Native) |
| 111 | +Study Buddy is part of a family of apps for university students: |
145 | 112 |
|
146 | | -## Credits |
147 | | - |
148 | | -Study Buddy is based on [Llama Tutor](https://github.com/Nutlope/llamatutor) by Hassan El Mghari ([@nutlope](https://github.com/nutlope)). The original project showcased the power of AI in education, and we're building on that foundation to make it accessible to all students. |
| 113 | +| App | Purpose | Accent colour | |
| 114 | +|-----|---------|---------------| |
| 115 | +| [Talk Buddy](https://github.com/michael-borck/talk-buddy) | Speech practice for high-stakes scenarios | Eucalyptus sage | |
| 116 | +| **Study Buddy** | AI personal tutor | Dusty bluebell | |
| 117 | +| Career Compass (planned) | Career guidance and interview prep | Warm ochre | |
149 | 118 |
|
150 | | -See our [ACKNOWLEDGMENTS.md](ACKNOWLEDGMENTS.md) for a comprehensive list of all the amazing open source projects that make Study Buddy possible. |
| 119 | +All three share the same design system ([Studio Calm](https://github.com/michael-borck/talk-buddy/blob/main/docs/design/studio-calm.md)) — same font, same warm palette, same calm interface. The only difference is the accent colour. A student who uses one recognises the others instantly. |
151 | 120 |
|
152 | | -## License |
| 121 | +## Credits |
153 | 122 |
|
154 | | -MIT License - see [LICENSE](LICENSE) file for details. |
| 123 | +Study Buddy is based on [Llama Tutor](https://github.com/Nutlope/llamatutor) by Hassan El Mghari ([@nutlope](https://github.com/nutlope)). The original project demonstrated how simple and effective an AI tutor could be. Study Buddy builds on that foundation with local-first privacy, provider flexibility, and a design system built for the students who need it most. |
155 | 124 |
|
156 | | ---- |
| 125 | +## Licence |
157 | 126 |
|
158 | | -**Note**: This is an independent fork and is not officially associated with the original Llama Tutor project. |
| 127 | +MIT — see [LICENSE](LICENSE). |
0 commit comments