"Slide Buddyβs here to light your way,
Through notes and questions every day.
Upload, explore, and understand,
With AIβs help, youβll take command." β¨
Slide Buddy is here to make studying simpler and enjoying! π Itβs your go-to tool for taking notes, asking questions, and reviewing slides with ease. Built with modern tools like Next.js, Tailwind CSS, and Tiptap, and and supercharged by Google Generative AI, Slide Buddy keeps everything intuitive and efficient.π‘π
User-friendly Authentication: Secure login and signup with Clerk.
Slide Management: Upload and store slides seamlessly with Convex.
Interactive Learning Tools:
Reliable Monitoring: Track errors and performance with Sentry.
Responsive Design: Enjoy a consistent experience across devices, powered by Tailwind CSS.
Frontend Frameworks:
Rich-Text Editing:
Backend and AI:
Monitoring and Debugging:
The project folder's main structure:
app/
and components/
.convex/
.public/
directory.The following tree outlines the organization of files and folders of the Slide Buddy project. π
β course-project-project-18-edtech git:(main) tree -I "node_modules|dist|.git|coverage"
.
βββ README.md
βββ app
βΒ Β βββ (auth)
βΒ Β βΒ Β βββ sign-in
βΒ Β βΒ Β βΒ Β βββ [[...sign-in]]
βΒ Β βΒ Β βΒ Β βββ page.jsx
βΒ Β βΒ Β βββ sign-up
βΒ Β βΒ Β βββ [[...sign-up]]
βΒ Β βΒ Β βββ page.jsx
βΒ Β βββ api
βΒ Β βΒ Β βββ slide-loader
βΒ Β βΒ Β βββ route.js
βΒ Β βββ dashboard
βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βΒ Β βββ Header.js
βΒ Β βΒ Β βΒ Β βββ SideBar.js
βΒ Β βΒ Β βΒ Β βββ UploadSlideDialog.js
βΒ Β βΒ Β βββ layout.js
βΒ Β βΒ Β βββ page.js
βΒ Β βββ favicon.ico
βΒ Β βββ fonts
βΒ Β βββ global-error.jsx
βΒ Β βββ globals.css
βΒ Β βββ layout.js
βΒ Β βββ learning-hub
βΒ Β βΒ Β βββ [slideId]
βΒ Β βΒ Β βΒ Β βββ page.js
βΒ Β βΒ Β βββ _components
βΒ Β βΒ Β βββ LearningHubHeader.js
βΒ Β βΒ Β βββ NoteEditor.js
βΒ Β βΒ Β βββ NoteExtension.js
βΒ Β βΒ Β βββ SlideViewer.js
βΒ Β βββ page.js
βΒ Β βββ provider.js
βββ components
βΒ Β βββ ui
βΒ Β βββ button.jsx
βΒ Β βββ dialog.jsx
βΒ Β βββ input.jsx
βΒ Β βββ progress.jsx
βΒ Β βββ sonner.jsx
βββ components.json
βββ configs
βΒ Β βββ AIModel.js
βββ convex
βΒ Β βββ _generated
βΒ Β βΒ Β βββ api.d.ts
βΒ Β βΒ Β βββ api.js
βΒ Β βΒ Β βββ dataModel.d.ts
βΒ Β βΒ Β βββ server.d.ts
βΒ Β βΒ Β βββ server.js
βΒ Β βββ langchain
βΒ Β βΒ Β βββ db.js
βΒ Β βββ myAction.js
βΒ Β βββ notes.js
βΒ Β βββ schema.js
βΒ Β βββ slideStorage.js
βΒ Β βββ user.js
βββ instrumentation.js
βββ jsconfig.json
βββ lib
βΒ Β βββ utils.js
βββ middleware.js
βββ next.config.mjs
βββ package-lock.json
βββ package.json
βββ postcss.config.mjs
βββ public
βΒ Β βββ figma.png
βΒ Β βββ landing-page.png
βΒ Β βββ logo.png
βΒ Β βββ pdf-file.png
βΒ Β βββ presentation.png
βββ sentry.client.config.js
βββ sentry.edge.config.js
βββ sentry.server.config.js
βββ tailwind.config.js
23 directories, 55 files
Follow these steps to set up and run the Slide Buddy project.
Make sure you have the following installed:
Open a terminal and run the following commands:
git clone [email protected]:nguyenngocyennga/slide-buddy.git
cd slide-buddy
Create a .env.local
file in the root directory and add the following environment variables for Convex, Clerk, Google AI Studio (Gemini) and Sentry.
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in # No need to modify
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up # No need to modify
GOOGLE_API_KEY=
SENTRY_AUTH_TOKEN=
You can run the project in two ways:
Option 1: One-Liner Command
This command will install the dependencies and then run both the development server and the Convex backend in parallel all in one terminal.
npm run slide-buddy
Option 2: Step-by-Step Setup
Install the dependencies:
npm install
Start the development server:
npm run dev
In a separate terminal, start the Convex backend:
npx convex dev
The challenges students face:
Managing lecture slides, notes, and exam preparation often requires juggling multiple tools. This fragmented workflow disrupts focus, wastes time, and complicates learning. Exam prep becomes even more daunting with the manual organization of notes and question generation.
How Slide Buddy can help?
Slide Buddy aims to solve this problem by integrating slide viewing, rich-text note-taking, and AI-powered learning tools into a single platform. The solution simplifies study workflows, saves time, and improves comprehension.
The architecture of Slide Buddy integrates the following key components:
1. Frontend
2. Backend
3. AI Features
4. Error Monitoring
Visual mockups and prototypes were created to guide development, not only for this iteration but also act as a platform for future features prototypes. Please view the current prototype here: Slide Buddy - Figma Prototype
Open Source Usage and Licensing
Slide Buddy is built on open-source technologies like Next.js, Tiptap, Tailwind CSS, and Convex. These tools make development faster and more reliable while ensuring compliance with established open-source licenses. While open-sourcing the project under an MIT license could support collaboration and community-driven improvements, unique featuresβlike contextual AI workflows and modular architectureβcan be considered to remain proprietary to protect the platformβs competitive edge.
Business Model
At this stage, Slide Buddy focuses on user acquisition and feedback through a freemium model. Core features, such as slide viewing, note-taking, and basic AI functionalities, are available for free, ensuring accessibility and encouraging adoption among students and educators. Premium features, like unlimited slide uploads, personalized flashcards, and advanced analytics, provide an opportunity for monetization. As the platform grows, subscription plans for individuals and institutions or enterprise licensing partnerships with schools and universities could open potential long-term revenue streams.
Slide Buddy integrates features that address gaps in the tools students commonly use:
Tool | Strengths | Gaps |
---|---|---|
Notion | Flexible workspace for note-taking, project management, and databases | No real-time annotation or lecture-specific workflows |
Mem.ai | AI-driven organization for personal notes, focuses on workflow recall | Lacks integration with slides or tools for exam preparation |
StudyPotion | Converts lecture materials into flashcards and interactive study aids | Limited note-taking capabilities and no contextual AI assistance |
NotebookLM | Summarizes and interacts with uploaded documents using AI | Not optimized for live lectures or slide-based workflows |
OneNote | Allows slide-linked notes and flexible formatting for various workflows | No built-in AI features for clarifications or automated exam prep tools |
Why Slide Buddy stands out?
Slide Buddy combines the best of these tools into one platform. Students can take notes along with slides in real-time, ask contextual questions, and generate exam materialsβall without leaving the app. Itβs designed for the modern student who needs everything at their fingertips.
Strengths | Weaknesses |
---|---|
Combines note-taking, AI assistance, and slide viewing in one platform | Limited initial resources for development |
User-friendly, tailored for students | Early-stage project with scalability challenges |
Freemium model encourages adoption | Requires ongoing AI feature improvements |
Opportunities | Threats |
Integration with LMS platforms to boost adoption | Established competitors with large user bases |
Expansion into global markets with multilingual support | Competitors may replicate key features |
Partnerships with educational content providers | User inertia toward existing tools |
Slide Buddy is an all-in-one platform and user-centric design to simplify learning workflows, with opportunities in LMS integration and global expansion, but faces challenges in scaling, competition from established tools, and the need for continuous innovation.
We owe the online community for their resources and tutorials, such as Antonio Erdeljac, Adrian Hajdin, and Rahul Sanap, for generously sharing.
Evaluation:
UI Kit:
Some of our features that could be considered:
Evaluation:
Incoming request and request processing The back-end supports various incoming requests, including:
Heavy Back-end Technology
Processing Incoming Requests
Scripts
npm run slide-buddy
: This script installs dependencies and starts both the development server and the Convex backend in parallel.Interactions between Back-end Services
Performance Enhancement