Everything students need, nothing they don't
Voxel Forge Coding Lab is a single HTML file that runs entirely in the browser. Students open a link - no login, no extension, no package manager. Python runs via WebAssembly, C# via Blazor, HTML renders live in the preview pane.
It was designed to remove friction: the biggest barrier to coding in lessons isn't the curriculum, it's fifteen minutes of setup on school machines. This tool eliminates that.
Deliberately AI-free
Voxel Forge Coding Lab contains no AI assistant, no autocomplete, and no code generation. This is a deliberate choice, not an oversight.
How to use challenges in a lesson
Challenges are accessed via the ⚡ Challenges button in the toolbar. Students can filter by difficulty (★ to ★★★) and track their own progress. Completed challenges turn green - a simple visual motivator that works well as a class display.
Each challenge shows a task description, hints on demand, and starter code. The output is checked automatically - students see Pass or Fail instantly without needing you to mark their work.
| Difficulty | Suitable for | Languages | Count |
|---|---|---|---|
★ Beginner |
Year 10 intro, first lessons, revision warm-up | PythonC#HTML | 20 per language |
★★ Intermediate |
Year 11 consolidation, early A Level, structured tasks | PythonC#HTML | 20 per language |
★★★ Advanced |
A Level extension, OOP, algorithms, NEA prep | PythonC#HTML | 20 per language |
A suggested 60-minute lesson
This structure works for a mixed-ability class using challenges as the main activity. Adjust the timings to suit your group.
Printing reference sheets
The Coding Help pages are print-optimised. Open Coding Help in a browser and press Ctrl + P. The dark theme switches to a clean light layout, the header and search bar are hidden, and the grid reformats to a single column - ready to print as an A4 reference card.
These work well as desk aids during lessons or as an open-notes resource during in-class assessments.
FAQ
Does it work on school Chromebooks and iPads?
Yes. The tool runs in any modern browser with no plugins required. Chromebooks and iPads are both supported. The only requirement is a reasonably recent browser (Chrome 90+, Firefox 90+, Safari 16+, Edge 90+). The Python runtime (Pyodide) downloads on first load (~10 MB) and is then cached for subsequent visits.
Does it need internet access?
Yes - on the first load it downloads the Python and C# runtimes from a CDN. After that, most of the tool works offline for Python. C# always requires the Blazor runtime to be reachable. HTML editing works fully offline. For school networks with content filtering, the CDN domains needed are: cdn.jsdelivr.net and cdnjs.cloudflare.com.
Can students save their work?
Challenge progress is automatically saved to localStorage - it persists between sessions on the same browser and device. Code in the editor is kept in memory during a session. Students can use the Save button in the toolbar to download a .py / .cs / .html file to their own machine or school drive.
What syllabus topics are covered?
Python: variables and types, I/O, conditionals, loops, functions, lists, strings, file handling, dictionaries, recursion, OOP, abstract classes. C#: the same topics plus generics and LINQ-style patterns. HTML: semantic structure, CSS box model, flexbox, grid, animations, JavaScript DOM manipulation, events, localStorage, and the Fetch API.
Is there a teacher dashboard to see student progress?
Not currently. Progress is stored locally on each student's device. A practical workaround is to ask students to screenshot their completed challenge grid at the end of a lesson, or to share their screen during a check-in.
Can I suggest new challenges or report a problem?
Yes - please get in touch via the contact details on the Doxel Studio website (doxelstudio.co.uk). Bug reports and curriculum suggestions are very welcome.