Dev.to WebDev 🛠 Dev 👁 0 📖 3 min read

Building 24 Classroom Tools That Load Fast on a School Chromebook (No Login, No Student Data)

Teachers have a very specific set of constraints that most web apps ignore: locked-down district Chromebooks, no permission to install anything, strict student privacy rules, and about five minutes between the bell and n

Teachers have a very specific set of constraints that most web apps ignore: locked-down district Chromebooks, no permission to install anything, strict student privacy rules, and about five minutes between the bell and needing a tool on the projector.

Badge Your Classroom is a set of 24 free, browser-based teacher tools — wheel of names, timers, bingo cards, word searches, crosswords, a Jeopardy-style review board, a noise meter and more — built around those constraints. Here's what building for classrooms taught me.

Constraint 1: The device is a low-end Chromebook

Many school laptops are budget Chromebooks with limited RAM, on a shared school network. The goal is for every tool to load in under three seconds on one of those. In practice that means:

  • One tool per page, no giant SPA bundle.
  • No heavy UI framework for things like a timer or dice roller — plain DOM and a little JS.
  • Canvas only where it earns its keep (spinner wheel, maze generator, word cloud export).

A countdown timer really doesn't need more than this:

function startCountdown(seconds, el, onDone) {
  const end = performance.now() + seconds * 1000;
  function tick(now) {
    const left = Math.max(0, Math.ceil((end - now) / 1000));
    el.textContent = `${Math.floor(left / 60)}:${String(left % 60).padStart(2, "0")}`;
    if (left > 0) requestAnimationFrame(tick);
    else onDone();
  }
  requestAnimationFrame(tick);
}

Computing remaining time from a fixed end timestamp (instead of decrementing a counter every second) keeps it accurate even when the tab is throttled.

Constraint 2: Zero accounts, zero student data

Every login or roster upload can trigger a district privacy review. So the rule is: no accounts and no student data leaves the browser. A class list pasted into the name picker stays in memory on that page.

That also simplifies the "fair picking" problem. A wheel of names that can repeat students feels unfair to a class, so the picker supports "remove winner" and keeps a history:

function createPicker(names) {
  let pool = [...names];
  const history = [];
  return {
    pick({ removeWinner = true } = {}) {
      if (pool.length === 0) pool = [...names]; // start a new round
      const i = crypto.getRandomValues(new Uint32Array(1))[0] % pool.length;
      const winner = pool[i];
      if (removeWinner) pool.splice(i, 1);
      history.push(winner);
      return winner;
    },
    history: () => [...history],
  };
}

Constraint 3: It has to project well

Teachers put these on a projector for 28 students. Full-screen modes, huge type, high contrast and no tiny controls matter more than clever features. The review game board, for example, is designed around full-screen projection and team scoring rather than student devices.

Constraint 4: Paper still wins

A lot of classroom work is printed. Generators for word searches, crosswords, mazes, bingo cards, word scrambles and cursive tracing all produce print-ready output with separate teacher answer keys. The trick is a dedicated print stylesheet:

@media print {
  nav, footer, .controls { display: none; }
  .puzzle { break-inside: avoid; }
  .answer-key { break-before: page; }
}

Constraint 5: AI features should work without AI

Two tools (a homework helper and a report card comment generator) use an LLM, but they also run in a mock/sample mode when no API key is configured. That makes development, demos and testing easy — and means the page never breaks just because a key is missing.

Takeaways for building edtech

  • Design for the weakest device in the room, not your dev machine.
  • No login + no student data is a feature teachers actively look for.
  • Projector and print modes are first-class, not extras.
  • Make AI features degrade gracefully.

All 24 tools are free at badgeyourclassroom.com. If you've built for schools, I'd like to hear what constraints surprised you.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.