Skip to content

About

Autonomous Manifest V3 Chrome extensions for Infosys Springboard course completion and Gemini AI assessment solving.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Ojas Deshpande LogoΒ Β Β Β SpringBored Logo

⚑ SpringBored (v1.0.0)

Intelligent, autonomous course & assessment automation suite for Infosys Springboard (infyspringboard.onwingspan.com) β€” built as two zero-dependency Manifest V3 Chrome extensions.

Star the Repo on GitHub Support My OSS Release v1.0.0 Official Website Apache 2.0 License


🌿 Overview

SpringBored is an open-source browser automation suite engineered specifically for the Infosys Springboard (infyspringboard.onwingspan.com) learning platform and its embedded assessment engines (IAP and Techademy).

To keep course completion separate from graded evaluations, SpringBored is split into two standalone Chrome extensions:

Edition Directory Purpose & Capabilities AI Engine
SpringBored (Course Edition) SpringBored/ 16Γ— Course Completer: Mutes and accelerates video lectures to 16Γ—, seeks to duration βˆ’ 3s so completion beacons fire naturally, clicks Mark as Complete on reading modules, dismisses duration confirmation modals, and expands nested module trees. Deliberately skips all quizzes and assessments. ❌ None required
SpringBored (Assessment Edition) SpringBored - Assessment/ Autonomous AI Assessment & Quiz Solver: Powered by Google Gemini 2.5 & 3 with thinking budgets and a two-pass self-critic verifier. Solves standard Springboard quizzes, multi-section IAP assessments, and cross-origin Techademy assessments (all_frames). Includes a draggable fullscreen HUD (Alt + S) with a live AI prompt/response inspector. βœ… Google Gemini API (Free Tier Supported)

🌐 Official Website & Live Telemetry Dashboard: springbored.ojasdeshpande.in


✨ Key Highlights

🎬 Course Edition (SpringBored/)

  • 16Γ— Video Playback & Natural Beacon Triggering: Accelerates HTML5 video lectures to 16Γ— and seeks to 3 seconds before the end so Springboard's native ended event and completion telemetry fire cleanly.
  • Reading & Web-Module Completion: Automatically triggers Mark as Complete on PDF/reading/web pages and confirms the "learning duration" modal dialog.
  • Multi-Module TOC Traversal: Opens the course Contents drawer, expands collapsed module/folder accordions, and progresses sequentially across module boundaries.
  • Strict Evaluation Bypass: Detects quizzes, tests, and assessments in the table of contents or viewer URL and skips them automatically.

🧠 Assessment Edition (SpringBored - Assessment/)

  • Multi-Model Gemini Fallback Chain: Defaults to gemini-2.5-flash and automatically falls back through gemini-3-flash-preview β†’ gemini-2.5-pro β†’ gemini-3.1-pro-preview β†’ gemini-2.5-flash-lite β†’ gemini-2.0-flash β†’ dynamically discovered /models if rate-limited (429) or overloaded (503).
  • Thinking Budget + Two-Pass Self-Critic: Allocates native Gemini thinkingBudget (4096 tokens on Pro, 2048 tokens on Flash) and runs a second verification pass on complex multi-choice, code, math, and negation questions.
  • High-Fidelity DOM & Multimodal Scraper: Preserves Python/Java/C++/SQL indentation, converts HTML <table> grids into Markdown tables, extracts MathJax/KaTeX/MathML annotations and <sub>/<sup> exponents, and attaches inline question diagrams (<img> / <canvas>) as multimodal vision inputs.
  • Standard, IAP & Cross-Origin Techademy Support: Navigates instructions screens, multi-section IAP SECTIONS tabs, Techademy topic accordions, question palettes, Save & Next flows, and final submission modals β€” including assessments hosted inside cross-origin iframes (*.techademy.com, *.techademyone.com, *.yaksha.com, *.iiht.com).
  • Floating Fullscreen HUD (Alt + S): Draggable in-page overlay that stays accessible in fullscreen exams, complete with a Live AI Inspector showing the exact prompt sent and answer received for every question.

πŸ”” Built-in Update Nudge & Personal Impact Stats

  • GitHub Releases Update Checker: Both extensions periodically check OjasD07/SpringBored/releases (or on-demand via Check updates in the popup footer) and display a NEW toolbar badge + update banner when a newer version is available.
  • Personal Impact Strip: Tracks your local lectures/modules/courses completed or questions/assessments solved right inside the extension popup.

πŸ“¦ Installation (GitHub Releases)

All official builds are distributed via GitHub Releases. Because Chrome cannot load a .zip file directly in Developer Mode, extract the archive first:

  1. Download the release archive from GitHub Releases (v1.0.0):
  2. Extract the .zip archive to a permanent folder on your computer (do not delete the folder while the extension is installed).
  3. Open Google Chrome (or Brave / Edge) and navigate to:
    chrome://extensions/
    
  4. Enable Developer mode using the toggle in the top-right corner.
  5. Click Load unpacked (top-left) and select either:
    • the SpringBored folder (for Course Edition), or
    • the SpringBored - Assessment folder (for Assessment Edition).
  6. Pin the SpringBored icon from the Chrome extensions puzzle menu (🧩) to your toolbar.

πŸš€ Quick Start

Using Course Edition (SpringBored/)

  1. Sign in to Infosys Springboard (infyspringboard.onwingspan.com) and open any course player (/viewer/).
  2. Click the SpringBored toolbar icon and accept the one-time Privacy & Terms agreement.
  3. Click Run course. Keep the tab open in the foreground while SpringBored completes lectures and reading modules automatically.

Using Assessment Edition (SpringBored - Assessment/)

  1. Generate a free Gemini API key from Google AI Studio.
  2. Click the SpringBored - Assessment toolbar icon, accept the one-time Privacy & Terms agreement, paste your AIzaSy... key, select your preferred Gemini model (Gemini 2.5 Flash recommended), and click Save & test.
  3. Open any Springboard quiz, multi-section IAP assessment, or Techademy assessment.
  4. Click Solve assessment in the floating corner HUD, press Alt + S (or F2), or click Solve assessment in the extension popup.

πŸ‘‰ For detailed walkthroughs, keyboard shortcuts, and troubleshooting, read How_To_Use.md.


πŸ“ Repository Structure

SpringBored/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ FUNDING.yml                  # GitHub Sponsors & Razorpay OSS funding links
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/              # Bug report & feature request templates
β”‚   └── PULL_REQUEST_TEMPLATE.md     # Pull request checklist template
β”œβ”€β”€ SpringBored/                     # Course Edition (16x video & reading completer)
β”‚   β”œβ”€β”€ Assets/
β”‚   β”‚   └── Logo.png                 # Botanical forest brand emblem (512x512)
β”‚   β”œβ”€β”€ icons/                       # Extension toolbar icons (16px, 48px, 128px)
β”‚   β”œβ”€β”€ manifest.json                # Manifest V3 configuration (v1.0.0)
β”‚   β”œβ”€β”€ background.js                # Service worker, consent badge, telemetry & update checker
β”‚   β”œβ”€β”€ content.js                   # TOC expander, 16x video seeker, reading & modal handler
β”‚   β”œβ”€β”€ popup.html                   # Popup UI (consent gate, controls, stats, update banner)
β”‚   β”œβ”€β”€ popup.css                    # Botanical forest design system stylesheet
β”‚   β”œβ”€β”€ popup.js                     # Popup controller & live status synchronization
β”‚   └── README.md                    # Course Edition documentation
β”œβ”€β”€ SpringBored - Assessment/        # Assessment Edition (Autonomous Gemini AI solver)
β”‚   β”œβ”€β”€ Assets/
β”‚   β”‚   └── Logo.png                 # Botanical forest brand emblem (512x512)
β”‚   β”œβ”€β”€ icons/                       # Extension toolbar icons (16px, 48px, 128px)
β”‚   β”œβ”€β”€ manifest.json                # Manifest V3 configuration with all_frames iframe support
β”‚   β”œβ”€β”€ background.js                # Gemini API client, fallback chain, critic pass & telemetry
β”‚   β”œβ”€β”€ content.js                   # DOM/table/code/diagram scraper, HUD & cross-frame relay
β”‚   β”œβ”€β”€ popup.html                   # Popup UI (API key setup, model selector, stats & controls)
β”‚   β”œβ”€β”€ popup.css                    # Botanical forest design system stylesheet
β”‚   β”œβ”€β”€ popup.js                     # Popup controller, key validator & allFrames script injector
β”‚   └── README.md                    # Assessment Edition documentation
β”œβ”€β”€ CHANGELOG.md                     # Version release history (v1.0.0)
β”œβ”€β”€ CODE_OF_CONDUCT.md               # Community Code of Conduct
β”œβ”€β”€ CONTRIBUTING.md                  # Developer setup, architecture & PR guidelines
β”œβ”€β”€ DISCLAIMER.md                    # Academic honor code, ToS & liability disclaimer
β”œβ”€β”€ How_To_Use.md                    # Step-by-step installation, usage & troubleshooting guide
β”œβ”€β”€ LICENSE                          # Apache License 2.0
β”œβ”€β”€ PRIVACY.md                       # Privacy policy, local storage & telemetry transparency
β”œβ”€β”€ README.md                        # Main repository documentation
└── Security.md                      # Security architecture & vulnerability disclosure policy

πŸ“š Documentation Index

Document Description
How_To_Use.md Complete installation guide, API key setup, HUD controls, update checks, and troubleshooting FAQ
SpringBored/README.md Deep dive into SpringBored (Course Edition) architecture, permissions, and workflow
SpringBored - Assessment/README.md Deep dive into SpringBored (Assessment Edition) AI pipeline, iframe support, and HUD inspector
Security.md API key isolation, x-goog-api-key header transport, prompt-injection defense, and vulnerability reporting
PRIVACY.md Local storage breakdown, zero-PII guarantee, and anonymous telemetry specification
DISCLAIMER.md Academic integrity policy, institutional honor code responsibility, and non-affiliation notice
CONTRIBUTING.md Local development workflow, design tokens, testing checklist, and pull request standards
CHANGELOG.md Detailed release notes for v1.0.0
CODE_OF_CONDUCT.md Open-source community standards and expectations

πŸ›‘οΈ Ethics, Privacy & Security Summary

  • 100% Local API Key Storage: Your Google Gemini API key is stored only in your browser's chrome.storage.local and is sent directly to https://generativelanguage.googleapis.com via the x-goog-api-key HTTP header. It never touches our server or URL query strings.
  • Zero Personal Data: No names, emails, Springboard credentials, session cookies, course titles, or question/answer texts are ever collected or transmitted.
  • Academic Integrity: SpringBored is built for educational exploration and developer research. Users are solely responsible for complying with their institution's honor code and platform terms of service. Read the full Disclaimer and Privacy Policy.

⭐ Star & Support My Open-Source Work

If SpringBored saved you hours on Infosys Springboard courses or assessments, please consider supporting its continued open-source maintenance:


πŸ“„ License

Distributed under the Apache License 2.0.


Author

Ojas Deshpande (www.ojasdeshpande.in Β· GitHub @OjasD07 Β· contact@ojasdeshpande.in)


SpringBored Β© 2026 Ojas Shailesh Deshpande

About

Autonomous Manifest V3 Chrome extensions for Infosys Springboard course completion and Gemini AI assessment solving.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages