Start creating your lesson by chatting with the AI assistant, or use the tools on the left to add whiteboards and rich content.
To use the AI assistant, connect your preferred provider in Settings
Paste an embed code or URL from a trusted educational platform.
Choose a provider, connect your own key, and pick the model that fits the lesson.
Keys are stored only in this browser. Requests pass through Lesson Studio's secure edge proxy to the provider you select; keys are never logged or retained.
Control the maximum length of AI responses. Uses Edge Functions with 50-second timeout for reliable long responses.
Number of recent teacher/AI messages to include from across the lesson. Lower values = faster responses and lower costs. Higher values = better continuity but risk timeouts.
Performance tip: If you're experiencing timeouts after a few messages, reduce this number to 4-6.
Trade-off: Lower = faster & cheaper, Higher = better context awareness
Recommended: 6-10 for most lessons
Choose how much of the lesson the AI can use. Whole lesson includes a compact outline of every page, full detail from the current page, and recent conversation across pages.
Add custom instructions to guide the AI assistant's behavior. These will be added to the default educational prompt which ensures proper markdown, LaTeX, and TikZ formatting.
The default prompt ensures proper markdown, LaTeX ($x^2$), and TikZ formatting. Your instructions are added to this, not replacing it.
Upload PDF documents to provide context for AI lesson creation. The system intelligently selects relevant sections for each query.
Choose how the AI searches your uploaded documents for relevant content.
Upload textbooks, curriculum guides, standards documents, or other educational PDFs. Maximum 10MB per file.
Upload PDFs to provide context for AI-generated lessons
When you ask a question, your selected AI first analyzes your PDFs to find the most relevant sections. Then it uses only those sections to create your lesson, ensuring alignment with your materials while keeping responses fast and cost-effective.
Configure how images and media are handled in your lessons.
Automatically compress images to reduce file size and improve lesson performance. Higher quality = larger files but better appearance.
Why compress images?
File size: A lesson with 10 photos can be reduced from 20MB to 2-3MB
Performance: Smaller files load faster and use less bandwidth
Sharing: Easier to email or upload to Google Drive
Format: All images are converted to JPEG for best compression
Personalize the look and feel of Lesson Studio.
Adjust the font size of lesson content and AI responses.
Replace the menu button with direct access to the four main lesson actions.
Choose a subtle background to personalize your lesson environment.
Choose how newly exported standalone lesson files are presented.
Lesson pages always stay separate. Choose how the posts within each page are presented.
When enabled, exports inherit the background image currently selected under Appearance. The image is embedded in the HTML so it remains available when the lesson is shared.
The native Lesson Studio canvas is active. Use the settings button inside the whiteboard to customise pen feel, colours, backgrounds, graph defaults, and keyboard shortcuts.
A modern, AI-powered lesson creation tool for educators.
0.9.8
The default prompt ensures proper markdown, LaTeX ($x^2$), and TikZ formatting. Your instructions are added to this, not replacing it.
Storage: Your API key is stored ONLY in your browser's localStorage. We have no database or server-side storage.
In Transit: When you use the AI assistant, your key passes through our secure Netlify edge function only long enough to reach the provider you selected. It is never logged or retained.
Not Stored: The function doesn't log or store your key - it exists in memory only during the request (~2 seconds).
Your Control: Disconnect or rotate any key at any time, and manage spending limits in your provider's console.
This is the standard approach used by all browser-based BYOK applications.
Built for educators. Pure HTML, CSS, and JavaScript. Function code is simple and auditable.
Manage websites you've approved for embedding in your lessons.
How it works:
Pre-approved educational platforms with full functionality
User-approved sites with scripts disabled for security
Sites that cannot be embedded for security reasons
Upload an image to add to your lesson. Supports JPG, PNG, GIF, and WebP formats.
Click to upload or drag and drop
JPG, PNG, GIF, WebP (max 5MB)Set the title and metadata for your lesson. This information will be used in exports.
Customize your 6 favorite colors for quick access. Black and white are always available.
Pick 6 colors that you use most often. These will appear in your whiteboard toolbar.
Quick Presets:
Set your preferred default tool, color, and size when opening the whiteboard.
Control how the pen responds to your drawing speed and input. These settings apply to the pen tool only — the highlighter always stays flat and uniform.
When using a mouse (not a stylus), vary stroke width based on how fast you draw. Disable for a perfectly uniform line regardless of speed.
Choose a background pattern for your whiteboard. The pattern will zoom and pan with your drawing.
Adjust the spacing between grid lines or dots (in pixels).
Choose whether the selected grid, dots, or ruled lines are baked into the image posted to your lesson. This does not change the live whiteboard.
Customize keyboard shortcuts for faster workflow. Click on any shortcut to change it.
These shortcuts require Ctrl (or Cmd on Mac) to be pressed.
Click on any shortcut button and press your desired key. Press Escape to cancel. Conflicts are automatically detected.
Configure default values and appearance for mathematical graphs.
Default horizontal range when plotting new graphs.
Default vertical range. Leave blank for auto-calculation based on function.
Pixels per unit on the graph (controls zoom level).
Customize how axes are displayed on graphs.
When plotting 2 or 3 functions together, the first uses your current color. Set default colors for the 2nd and 3rd functions here.
How new graphs align with the background grid.
Number of points used to draw curves (higher = smoother but slower).
Add a coordinate grid directly on the graph for easier reading of values.
You can always override these defaults when plotting individual graphs. These settings just provide convenient starting values.
Upload PDFs to help AI create lessons aligned with your materials.
Drop PDF here or click to upload
No PDFs uploaded yet.
This removes every page and item from the current lesson.
This cannot be undone unless you save the existing lesson first.
Choose whether to save the lesson you are working on before loading the selected file.
Loading replaces the current lesson. Save it first if you may need it again.