MaxiMind · embed guide
Study Board
A collaborative whiteboard you drop into any classroom page with one <iframe>. Ephemeral by default — nothing is saved; close the page and it's gone.
☝ This is the actual board, embedded — exactly what your students would see inside your classroom.
🤖 Handing this to an AI? Give it the plain-text spec and it will embed the board correctly. For the whole MaxiMind suite, use /llms.txt.
/study-board.txt
/llms.txt (everything)
1 Drop-in embed
The whole integration is one iframe. Paste it anywhere.
HTML
<iframe src="https://draw.macsvff.uk"
title="Study Board"
style="width:100%; height:600px; border:0; border-radius:12px"
allow="clipboard-read; clipboard-write; fullscreen"
referrerpolicy="no-referrer"
loading="lazy"></iframe>
2 Sizing & responsive
The board is a full app, not a thumbnail — give it room, and it will look right.
| Context | Use |
|---|---|
| Minimum | width ≥ 360px, height ≥ 420px |
| Desktop | height 600px — or min(80vh, 820px) |
| Mobile | min(70vh, 560px), never below 420px |
| Width | always 100% of the parent |
Responsive shape (aspect-ratio)
<div style="width:100%; aspect-ratio:16/10; min-height:420px">
<iframe src="https://draw.macsvff.uk"
style="width:100%; height:100%; border:0; border-radius:12px"
allow="clipboard-read; clipboard-write; fullscreen"
referrerpolicy="no-referrer" loading="lazy"></iframe>
</div>
3 Replace the classroom board
Fill an existing board slot — keeps its size, swaps in the Study Board.
Fill a container
<div style="position:relative; width:100%; height:100%; min-height:480px">
<iframe src="https://draw.macsvff.uk"
style="position:absolute; inset:0; width:100%; height:100%; border:0"
allow="clipboard-read; clipboard-write; fullscreen"
referrerpolicy="no-referrer"></iframe>
</div>
Or replace an element by id (JS)
const slot = document.getElementById('classroom-board');
const f = document.createElement('iframe');
f.src = 'https://draw.macsvff.uk';
f.title = 'Study Board';
f.setAttribute('allow', 'clipboard-read; clipboard-write; fullscreen');
f.setAttribute('referrerpolicy', 'no-referrer');
f.style.cssText = 'width:100%;height:100%;min-height:480px;border:0;border-radius:12px';
slot.replaceChildren(f);
4 One board per class
A shared board for a Vietlingo / online class: everyone opens the same room URL. Ephemeral — gone when everyone leaves.
Mint a unique room URL per class
async function newStudyBoardRoom() {
const id = [...crypto.getRandomValues(new Uint8Array(10))]
.map(b => b.toString(16).padStart(2, '0')).join('');
const key = await crypto.subtle.generateKey({ name: 'AES-GCM', length: 128 }, true, ['encrypt','decrypt']);
const jwk = await crypto.subtle.exportKey('jwk', key);
return 'https://draw.macsvff.uk/#room=' + id + ',' + jwk.k;
}
// use the returned URL as the iframe src for that class
The ROOM_KEY is an end-to-end encryption key — the server relays the drawing but can't read it. For a solo or throwaway board, just use the blank URL and every iframe is its own board.