Intelligent Academic Workflow Automation System
Project Nexus transforms a messy PDF syllabus into a living, breathing study plan. It doesn't just tell you what to studyβit executes your schedule, finds resources, and tracks your mastery in real-time.
Project Nexus is a comprehensive academic workflow system that takes syllabus input and creates an intelligent, automated study experience across four phases:
- Context Phase - Extract structured data from messy PDFs
- Agentic Phase - Automatically schedule and execute study plans
- Active Phase - Practice tests and active recall during study
- Mastery Phase - 3D visualization of knowledge mastery
- PDF Parsing: Extracts deadlines, weightages, topics, and required readings from messy PDFs
- Natural Language Processing: Parse text input like "I want to pass CS101 at UCSB; here is my midterm date"
- Privacy-First: Uses local LLMs (Ollama) so student data never leaves the machine
- Google Calendar Sync: Finds "dead air" (gaps between classes/gym/sleep) automatically
- Task Insertion: Creates specific study blocks with topics and resource links
- Resource Discovery: Finds relevant YouTube videos, Coursera courses, and EdX modules
- Auto-Enrollment: Uses Selenium to automatically enroll in mentioned courses (HTML-as-truth navigation)
- Practice Test Generator: Builds simulated midterms/finals based on your specific syllabus
- Active Recall Chrome Extension: Interrupts YouTube study sessions with contextual questions
- Adaptive Questions: Questions generated based on what you're actually watching
- 3D Concept Flow Chart: Interactive 3D graph showing knowledge mastery
- Color-Coded Nodes: Green (mastered), Yellow (learning), Orange (started), Red (untouched)
- Real-Time Progress Tracking: Update mastery as you learn and see the map evolve
Project-Nexus/
βββ backend/ # Flask API server
β βββ context_phase/ # Syllabus parsing and extraction
β βββ agentic_phase/ # Calendar sync, task management, course enrollment
β βββ active_phase/ # Practice test generation
β βββ mastery_phase/ # 3D visualization
β βββ app.py # Main Flask application
βββ frontend/ # React web application
β βββ src/
β β βββ components/ # React components
β β βββ App.js # Main React app
β βββ package.json
βββ chrome-extension/ # Active recall Chrome extension
β βββ manifest.json
β βββ content.js # YouTube video detection and questions
β βββ popup.html
βββ README.md
- Python 3.8+
- Node.js 16+
- Google Chrome
- ChromeDriver (for Selenium)
- Ollama (optional, for local LLM)
- Clone the repository
git clone <repository-url>
cd Project-Nexus- Set up the backend
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Edit with your API keys
python app.py- Set up the frontend
cd frontend
npm install
npm start- Install Chrome Extension
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
chrome-extensiondirectory
For detailed setup instructions, see SETUP.md.
Upload a PDF syllabus or type course information. The system will extract:
- Course information (number, name, institution)
- Deadlines (exams, assignments, quizzes)
- Grade breakdown (weightages)
- Topics and required readings
Connect your Google Calendar and generate a personalized study schedule. The system will:
- Find available time slots ("dead air")
- Create study tasks with specific topics
- Link relevant learning resources (YouTube videos, etc.)
- Insert tasks directly into your calendar
Generate practice tests based on your syllabus:
- Select test type (Quiz, Midterm, Final)
- Answer questions based on course topics
- Get instant feedback with explanations
View your 3D concept map:
- See what you know (green) vs. what you haven't touched (red)
- Update mastery levels as you learn
- Track overall progress
Install the Chrome extension and watch educational videos:
- Extension detects video topics
- Interrupts every 5 minutes with relevant questions
- Reinforces learning through active recall
- Local LLM Processing: Uses Ollama for syllabus parsing (optional)
- No Data Leakage: Student data never leaves the machine unless explicitly configured
- Secure Storage: Chrome extension uses local storage only
- Web Automation: Selenium-based course enrollment
- Calendar Intelligence: Finds optimal study times automatically
- Resource Discovery: YouTube, Coursera, EdX integration
- Topic Prioritization: Based on upcoming deadlines
- Adaptive Questions: Generated from actual syllabus content
- 3D Visualization: Interactive Plotly.js concept maps
- Real-Time Updates: Mastery tracking updates visualization instantly
- Show the AI actually clicking a button on Coursera/EdX during demo
- This is the "Aha!" moment that demonstrates true automation
- Most apps just give you a list of links
- Project Nexus executes the schedule:
- It puts tasks in your calendar
- It opens the exact video you need to watch
- It tracks your progress automatically
- Mention that the agent uses Local LLMs (Ollama) to process syllabi
- Student's data never leaves the machine
- Perfect for security-conscious judges
- Show the transformation: 10-page messy PDF β Living, breathing 3D concept map
- Green/Red nodes show mastery at a glance
- Judges will love seeing the syllabus come alive
backend/
βββ context_phase/
β βββ syllabus_parser.py # PDF/text parsing, deadline extraction
βββ agentic_phase/
β βββ calendar_sync.py # Google Calendar API integration
β βββ task_manager.py # Study task creation and scheduling
β βββ resource_finder.py # YouTube, Coursera, EdX resource discovery
β βββ course_enrollment.py # Selenium-based auto-enrollment
βββ active_phase/
β βββ practice_test_generator.py # LLM-based test generation
βββ mastery_phase/
β βββ visualization.py # 3D concept map generation
βββ app.py # Flask REST API
frontend/
βββ src/
β βββ components/
β β βββ HomePage.js # Landing page
β β βββ SyllabusUpload.js # PDF/text upload interface
β β βββ ScheduleView.js # Calendar and schedule display
β β βββ PracticeTest.js # Practice test interface
β β βββ ConceptMap.js # 3D visualization component
β βββ App.js # Main React router
βββ package.json
chrome-extension/
βββ manifest.json # Extension configuration
βββ content.js # YouTube video detection and questions
βββ background.js # Service worker
βββ popup.html/js # Extension popup
# Google Calendar API
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:5000/auth/callback
# Optional: OpenAI API (if not using Ollama)
OPENAI_API_KEY=your_openai_key
# Ollama Configuration (for local LLM)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama2
# Flask Configuration
FLASK_ENV=development
FLASK_SECRET_KEY=your_secret_key- Ensure extension is enabled in
chrome://extensions/ - Check that you're on a YouTube video page
- Verify backend API is running
- Ensure ChromeDriver version matches Chrome browser
- Install via:
brew install chromedriver(macOS) or download from chromedriver.chromium.org
- Start Ollama:
ollama serve - Verify model:
ollama list - Pull model if needed:
ollama pull llama2
See SETUP.md for detailed troubleshooting.
- Mobile app for iOS/Android
- Integration with more learning platforms (Khan Academy, MIT OCW)
- Spaced repetition scheduling
- Collaborative study groups
- AI tutor for personalized explanations
- Analytics dashboard for study habits
This project is created for SB Hacks 2024.
Created for SB Hacks 2024 at UCSB.
- Ollama for local LLM support
- Google Calendar API for scheduling
- YouTube Search API for resource discovery
- React Three Fiber for 3D visualizations
- Plotly.js for interactive charts
Built with β€οΈ for students who want to turn chaos into clarity.