Skip to content

About

Automated Course Slide & Handout Organizer powered by Google Gemma 4.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SlideShelf Extension

Automated Course Slide & Handout Organizer powered by Google Gemma 4

License: MIT Powered by Extension.js Google Gemma 4 Cross-Browser SlideShelf is an open-source cross-browser extension (Google Chrome & Mozilla Firefox) that eliminates the manual chaos of college downloads. When you browse Canvas LMS, SlideShelf scans your lecture slides and handouts, uses Google Gemma 4 to extract the lecture topic and title header, renames each file with a sensible standardized name, organizes them directly into your storage hierarchy


What does the extension aim to solve?

Every student knows the pain: by mid-semester, your ~/Downloads folder is a graveyard of files named slides_week3_final_v2.pdf, handout_ch4.pdf, and download(3).pdf, mixed in with receipts, memes, and ticket stubs. Finding lecture notes before a midterm takes 20 minutes of frantic searching.

SlideShelf solves this completely inside your browser:

  1. Zero-effort Organization: Injects an intelligent widget into Canvas LMS that discovers all slides & handouts on module pages.
  2. AI Renaming with Google Gemma: Looks inside the slide and header to identify the lecture sequence and topic (e.g. slides_week03_masterthm_v2.pdf ➔ 03_Master_Theorem_Deep_Dive.pdf).
  3. Structured Storage Hierarchy: Downloads files automatically into:
    user-selected-folder / semester-season-and-year / class-name / cleanFileName.pdf
    
    Example:
    ~/SlideShelf_Notes/
    └── Fall-2024/
        ├── CS-3343-Analysis-of-Algorithms/
        │   ├── 01_Asymptotic_Notation_Foundations.pdf
        │   ├── 02_Divide_and_Conquer_Recurrences.pdf
        │   └── 03_Master_Theorem_Deep_Dive.pdf
        └── BIO-1010-General-Biology/
            ├── 01_Cellular_Structure_Membranes.pdf
            └── 02_Photosynthesis_Light_Reactions.pdf
    
  4. Choose how to organize your files: Choose between lightning-fast Google Gemma Cloud API or No internet? Use your own local Gemma AI (steps provided in the setup guide).

Quick Start & Installation

Prerequisites

  • Node.js v18+ (tested on v20 and v22)
  • npm v9+

1. Clone & Install

git clone https://github.com/YOUR-USERNAME/scholar-sync.git
cd "scholar-sync/extension"
npm install

2. Run in Development Mode

For Google Chrome:

npm run dev:chrome

For Mozilla Firefox:

npm run dev:firefox

Extension.js will automatically bundle the extension and launch a dedicated browser profile with live reload!

3. Production Build

# Build for Chrome (Manifest V3)
npm run build:chrome

# Build for Firefox (Manifest V2/V3 compatible)
npm run build:firefox

# Build both simultaneously
npm run build:all

Artifacts are emitted to dist/chrome and dist/firefox.

While running the live extension

Go to your canvas course then interact with the extension pop up to configure what files to download and where to store them. For AI configuration, interact with the extension icon at the top right of your browser and select configure at the bottom of the pop up. Follow the instructions to connect your desired LLM.

Gemma AI Setup Guide

You can toggle between using the cloud based Gemma API or using a local Gemma model via Ollama.

Option A: Local Gemma Model

Run Gemma directly on your own laptop with Ollama or LM Studio. No student data leaves your machine.

  1. Install Ollama:
    # macOS / Linux
    curl -fsSL https://ollama.com/install.sh | sh
    # Or via Homebrew on macOS
    brew install ollama
  2. Start Ollama with Extension CORS enabled:
    OLLAMA_ORIGINS="chrome-extension://*,moz-extension://*,*" ollama serve
  3. Pull Google Gemma:
    # Lightweight (Runs on 4GB RAM)
    ollama run gemma2:2b
    
    # Or Gemma 4 / Gemma 2 9B
    ollama run gemma2:9b
  4. Open the SlideShelf Extension ➔ Settings ➔ Select Local Gemma Model ➔ Click Test Gemma Connectivity. You're ready!

Option B: Google Gemma Cloud API

If you prefer not to run models locally:

  1. Get a free API key from Google AI Studio.
  2. Open SlideShelf ➔ Settings ➔ Select Gemma Cloud API.
  3. Paste your API key and choose gemma-4-it or gemma-2-9b-it.
  4. Click Test Gemma Connectivity and save!

👥 How to Contribute

We welcome all students and developers! Read our CONTRIBUTING.md guide for beginner-friendly step-by-step instructions.

📄 License

This project is open-source under the MIT License.

About

Automated Course Slide & Handout Organizer powered by Google Gemma 4.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages