How it works
- Uses BazaarLink to access quality LLMs for low or no cost — such as Deepseek and Qwen
- Elucidate extracts information from your Canvas account and presents it to the LLM as source information, NOT training data
- You then chat with the model as a chatbot with full context about your canvas assignment or modules
Setup
- Get a Canvas access token (Account → Settings → + New Access Token)
- Get a BazaarLink API key from bazaarlink.ai/free
- Get your organisation's Canvas URL from your dashboard
- Add all the information on the Connect page, and you're good to go
Getting your Canvas access token
- Log into Canvas
- Go to Account → Settings
- Scroll to Approved Integrations and click + New Access Token
- Give it a purpose (e.g. "AI chat tool"), leave the expiry blank or set one, and click Generate Token
- Copy the token immediately — Canvas only shows it once
Your Canvas URL is the base address you use to log in, e.g. https://yourschool.instructure.com
Getting your BazaarLink API key
- Go to bazaarlink.ai/free and sign up (no card required)
- Create a key under Keys — it looks like
sk-bl-...
- By default, Elucidate uses Auto (free) model ID which auto-routes to whichever free open model is currently available. You can change this in Settings.
- The free tier is rate-limited (10 requests/minute, 150/day). If you hit that limit, wait a bit or add credit on BazaarLink
Features
- Quiz mode — Ask the AI to quiz you on the material question by question
- Summary — Get a concise summary of any page
- Essay marking — Paste your essay and get it marked against the rubric
- Flashcards — Generate interactive flashcards from the material
- File attachments — Attach documents to your chat messages
- Dark mode — Switch between light and dark themes
- Custom instructions — Set persistent instructions for the AI in Settings
Where your keys are stored
Your Canvas URL, Canvas token, and BazaarLink key are encrypted (AES-GCM) before being written to the browser's localStorage, and decrypted back in-memory each time the page loads. If you're using Supabase auth, they can also be synced to your account.
Limitations
- Video content isn't watched or transcribed — only surrounding text is available
- Only one page's content is in context at a time
- Free tier models may not support image/vision inputs
Source Code
github.com/lachlan-kelly/Elucidate