Bypass companion-mode on campus WiFi, download lecture recordings as audio/video/transcript, sync lectures with google Calendar, get LeetCode links on assignments & declutter your Scaler dashboard β all in one lightweight Chrome extension.
Adds a "Summary" tab on the session page that shows an AI-generated summary of the lecture β Topics taught, Notes, Deadlines, and Announcements β built from the lecture transcript.
Download recorded lectures directly from the Scaler recordings page as audio, video, or transcript (using your own custom API key for providers like Deepgram, Groq, OpenAI, or ElevenLabs).
Bypass Scaler's companion-mode when joining with SST's campus wifi.
Credits - PHATWalrus
Rewind the live lecture.
Automatically adds your upcoming Scaler classes directly to your Google Calendar β no manual entry needed.
Replaces the "View Details" text on live class cards with a direct "Join Session" button.
Scaler never tells you which room a class is in. This adds a room tag to every dashboard class
card β one chip reading Room : 1A β built from students voting on where the class actually is.
Click it to see how many people said what, and to add your own answer.
Voting opens 24 h before a class. A guess from the room's own history holds the tag until live votes clearly disagree: one person can never move it, two people must agree, and a voter's ballot is weighted by how often their past votes matched reality. Votes are tied to your Scaler account, and you can change yours whenever the room changes β every earlier answer is kept. See docs/classroom-vote.md.
Automatically organizes your curriculum subjects into Core and Other categories for a cleaner learning experience.
Automatically detects assignment problems and adds a direct link to the corresponding LeetCode problem with intelligent caching for instant results.
Credits - Siddhanth kapoor
Export your assignment problems, MCQs, and written code directly to formatted Markdown files for offline review or archiving.
- Click Export to download the current problem.
- Select Export All (ZIP) to seamlessly scrape and package your entire assignment session into a cleanly structured ZIP archive.
- Runs 100% locally in your browser. No backend required. Supports Coding, Single Correct, and Multiple Correct MCQs.
Show session metadata (title, date, instructor/company, rating) directly on class session pages and dashboard cards for quick reference.
Display instructor name, company and role on dashboard class cards and inside a dedicated "Instructor Info" tab on the session page.
Automatically resets the code editor in assignments if not touched for 5+ hours. Includes a customizable auto-disable timer (1β30 days) and tracks manual resets to prevent accidental spoilers.
Search from all the problems instantly by name, topic, type, or day.
Always shows a clickable "View Leaderboard" link on contest pages, even during active contests when it's normally disabled.
Press Alt + / (Option + / on Mac) or click the Search button in the Scaler header to open a floating Apple-style search bar. Instantly find and jump to Classes, Problems, or Events from anywhere on Scaler.
Recolor the entire Scaler website with a single click. Open the popup β Appearance β pick a theme: Dark, Midnight, Dracula, Nord, Warm Sepia, or Solarized (or Light / Off for the native look). Themes apply instantly, sync across your devices, and keep images, videos and the sticky header working correctly.
The Midnight theme ports the look of refact0r/midnight-discord β its blue-gray darkness, its Figtree font (bundled, SIL OFL 1.1) and its rounded corners.
- Refer & Earn - Hide the βΉ referral button in the header.
- Scaler Coins - Remove the coin counter and store link.
- Popups & Widgets - Auto-hide referral modals and floating notebook buttons.
- Auto-Close - Automatically dismisses referral/NSET popups as they appear.
- Promotional Cards - Hide "2025 Revisited", referral banners, and promo cards.
- Counters & Stats - Hide live referral counters and recording carousels.
- Smart Mess Fee - Hidden by default, auto-shows whenever the submission form link is live.
- Clean Sidebar - Remove store links and "Refer Friends" badges.
- β Instant Apply - Settings take effect immediately without a page reload.
- β Smart Bypass - Companion mode bypassed on-demand with zero permanent overhead.
- β Lecture Downloads - Download 2-hour recordings as lightweight audio, full video, or fully local AI transcripts.
- β Smart Caching - LeetCode links load instantly on revisits (20-50Γ faster).
- β Lightweight & Fast - Native performance with no external dependencies.
- β Privacy Centric - No data collection; works entirely via local storage.
- β Sync Support - Your preferences are saved automatically across devices.
- Install from the Chrome Web Store or load unpacked in Developer Mode.
- Open chrome://extensions/ and enable Developer Mode.
- Click on "Load unpacked" and select the extension folder.
extension-main/
βββ manifest.json
βββ popup.html / popup.css / popup.js
βββ background/
β βββ background.js β Service worker entry point (importScripts only)
β βββ companionBypass.js β Smart Companion Bypass logic
β βββ classroomProxy.js β Crowdsourced classroom tag API proxy
β βββ leetcodeLink.js β LeetCode search & verification
βββ calendarSync.js β Sync classes directly into Google Calendar
β βββ summaryProxy.js β AI summary cache + LLM proxy (CSP-safe)
β βββ videoTracker.js β M3U8 stream capture & download initiation
βββ content/
βββ content.js β Entry point & message handler
βββ core/ β settings, styleInjector, urlObserver
βββ cleaner/ β selectors, cleanerEngine, modalHandler, sidebarHandler
βββ features/
β βββ videoDownloader/ β Lecture download & transcript module
β β βββ videoDownloader.js β Button injection & recording detection
β β βββ videoProcessor.html β Download progress UI
β β βββ videoProcessor.js β Concurrent HLS downloader engine
β β βββ transcriptProcessor.html β Dedicated transcription UI
β β βββ transcriptProcessor.js β Client-side transcript orchestrator
β β βββ customAudioTranscriber.js β Custom STT API adapters (Deepgram, Groq, etc)
β β βββ modeBadge.js β Audio/Video mode badge
β βββ liveStreamRecorder/ β Live recording & DVR module
β β βββ liveStreamRecorder.js β Main logic & UI injection
β β βββ recorderBridge.js β Page context Agora handler
β β βββ liveStreamRecorder.css β Custom player styles
β βββ classroomVote/ β Crowdsourced classroom tag module
β β βββ classroomLogic.js β Vote window, card parsing, tag copy (pure, tested)
β β βββ classroomVote.js β Tag injection, room picker, teardown
β βββ lectureInfo.js / instructorInfo.js β Session/dashboard metadata & instructor tab
β βββ lectureSummary.js β AI lecture summary tab (topics/notes/deadlines/announcements)
β βββ themeManager.js β Site-wide Dark Mode & theme engine (root-filter recipes)
β βββ problemSearch, practiceMode, leetcodeLink, spotlightSearch,
β β joinClassButton, companionBypass, subjectSort, contestLeaderboard
βββ utils/ β domUtils, stringUtils
tests/ β jsdom + node:test suite for content features (see tests/README.md)
Unit + integration tests for the content-script features live in Scaler++/tests and run on Node's built-in test runner with jsdom (no Jest):
cd Scaler++/tests
npm install # one-time: installs jsdom
npm test # runs the full suiteCoverage includes the string/DOM utilities, join-class time logic, custom-message selection, the Instructor Info tab/dashboard tagging, and the full AI Lecture Summary flow (cached render, Generate-button states, and the generateβcache path). A smoke.test.js loads the entire manifest content-script bundle in one scope and asserts every feature entrypoint is wired up β so newly added content scripts are covered automatically. See tests/README.md for details.
Made with β€οΈ by Scaler community for the Scaler community.
Focus on what matters β your learning journey!