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.

Open full board →
☝ 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.
ContextUse
Minimumwidth ≥ 360px, height ≥ 420px
Desktopheight 600px — or min(80vh, 820px)
Mobilemin(70vh, 560px), never below 420px
Widthalways 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.