HO
HooplaHoorah/w2q-extension
Web-to-Quest: Chrome extension open-core (Devpost).
Web-to-Quest (Chrome MV3)
Turn on-page text into a guided quest.
- Math tab: steps, hints, and answer check (all local).
- General tab: translate / extract everywhere; summarize / rewrite when on-device AI is available.
Demo (2 minutes)
Screenshots
What’s included
- Side Panel UI (with popup fallback)
- Math assistant:
- Generate steps (auto-expanding list)
- Hint me
- Check answer (result appears only in the Check box)
- General tools:
- Translate (no network, works everywhere)
- Extract highlights (no network, works everywhere)
- Summarize / Rewrite (require on-device AI if available)
- Theme: Light / Dark / System
- Privacy-first: no data leaves the device; AI is opt-in
Quick start (Developer mode)
- Open
chrome://extensions→ enable Developer mode. - Click Load unpacked → select the
extension/folder. - Highlight text on any page → Right-click → Send selection → Web-to-Quest.
- The side panel (or popup fallback) opens with your selection prefilled.
How to use
General tab
- Paste or send text into Input.
- Choose one action:
- Translate (works offline)
- Extract (works offline)
- Summarize / Rewrite (AI-gated; see below)
- Results appear in Result.
Math tab
- Paste or send the math expression into Problem.
- Click Generate steps and / or Hint me.
- Enter your answer → Check answer (only here is the correct value shown).
- Generate printable variants drafts similar problems (no answers).
Built-in AI (Gemini Nano) — optional
Web-to-Quest works 100% without AI: math steps / hints / checks, Translate, and Extract are fully local.
If Chrome exposes on-device Gemini Nano (Prompt API), Summarize and Rewrite enable automatically.
Enable (if you want AI):
- Use Chrome Canary and flags as described in
extension/help/ai.html. - Open the side panel DevTools and run:
You might see:
await window.ai?.canCreateTextSession?.()
ready(enabled),after-download(model fetching), ormissing/unavailable(no AI).
(Graceful degradation: when AI isn’t available, those buttons stay disabled and everything else still works.)
Permissions
sidePanel— open the Web-to-Quest panelcontextMenus— add Send selection → Web-to-Queststorage— pass selection text from background to panel safely
No host_permissions are requested.
Privacy
- All computation runs locally in the extension’s process.
- We do not collect, transmit, or store personal data or analytics.
- Selection text is cached briefly in
chrome.storage.session(withchrome.storage.localas a fallback) only to pass data from background → side panel, then overwritten on the next selection. - AI features are opt-in; when enabled they use Chrome’s on-device Gemini Nano (no network calls).
Development
- Source lives under
/extension. - On tags matching
v*.*.*, GitHub Actions can package the build (see.github/workflows/*). - Typical flow:
# from repo root npm run lint # (if you add tooling) # load /extension in chrome://extensions
Troubleshooting
- Panel didn’t appear – It may open as a popup (fallback). You can also click the extension icon to open the panel.
- “AI: unavailable” – Summarize/Rewrite are disabled; the rest still works.
- Context menu didn’t appear – Reload the extension or right-click in a standard text selection area.
Roadmap
- Expand the printable-variants generator
- More extractors on the General tab
- Optional in-panel tutorial cards
License
MIT © 2025 Hoopla Hoorah, LLC
On this page
Contributors
Apache License 2.0
Created October 23, 2025
Updated October 31, 2025










