The MitsuruTech Learning Platform
The whole loop in one place: set it, run it, mark it.
The MitsuruTech Learning Platform is where a school or college sets programming exercises, students write and run real code in the browser, from Python to SQL to a full Linux terminal, deploy a working web app from GitHub to an address of its own, and teachers see how the class is getting on without collecting a single file by email.
Your first 365 days free, up to 50 students, with no payment method to start. Nothing to install.

- Python
- Notebook
- Web
- Web (TS)
- Assignment
- Quiz
- Drag and drop matching
- Click and match
- Crossword
- SQL (SQLite)
- Java
- Go
- Node (JS)
- C
- C++
- C#
- Haskell
- OCaml
- R
- Ruby
- PHP
- Rust
- Kotlin
- Prolog
- Bash
- Node (TS)
- Linux Terminal
- Mermaid diagram
- Whiteboard
- Container lab
- VM lab
What it does
Writing the task, handing it out, marking it, and knowing who is stuck
Real code, really run
Python, Java, Go, C, C++, C#, Haskell, OCaml, R, Ruby, PHP, Rust, Kotlin, Prolog, Node, TypeScript, Bash and SQL, written in a browser editor with completions and error checking and run against your tests in a throwaway container, so a program that would crash on a laptop crashes here with the same error. Web pages get a live preview, SQL runs against a real database, a whole Linux machine boots inside the tab, and there is a whiteboard for diagrams. Nothing is installed on the school computer.
Deploy a real web app from GitHub
Students deploy Python, Node, Go, Java and static HTML, CSS and JavaScript sites from a public GitHub repository to an address of their own under learntools.dev, invite up to 5 people to see it, give it environment variables and a PostgreSQL, MySQL or SQLite database of their own, and can hand the deployed app in for marking. An app is guaranteed an hour and keeps running while there is room, up to 4 hours, stops after 30 minutes with nobody looking at it, and each account has 8 hours of app time a day. It is for learning and demonstrating, not production hosting: long enough to show a teacher, share with a few people or hand in a link, and deliberately not long enough to run a service on.
Learn AWS without an AWS account
Every student gets an object store, a NoSQL table and a message queue implementing the Amazon S3, DynamoDB and SQS APIs, so boto3, the AWS SDKs and the AWS CLI run unchanged against it and the code they write is the code they would write against AWS. A browser console shows what is in them and the terminal is already pointed at them. The stack is saved and restored, up to 25 MB. No AWS account, no card, nothing reachable from outside their own session. It runs on MiniStack and is not an AWS account; MitsuruTech is not affiliated with AWS.
Quizzes that mark themselves
Nine question formats, built in our own builder. The answer key never reaches the browser, the clock lives on the server, and how many attempts a quiz allows is its own setting, with the best one counting.
Watch the class working, live
Live Classroom shows who is on which task right now and opens anybody’s work, read-only, as they write it. Present to Class is the reverse: your own editor or terminal on every student’s screen as you type, recorded to replay.
A whole class, one code
Hand out a join code and the class puts itself on the module, accounts and all. The number of places is fixed, it expires, and it can be turned off without forgetting who used it.
Tasks in four shapes, and hand-ins of any kind
A program to write, something to read, a quiz to sit or a diagram to draw, each with a due date. A program can be a whole project in folders with its own pom.xml, requirements.txt or package.json, loaded from a Git repository with hidden tests. A written assignment collects a PDF, a document, images, any file type you allow, or a deployed app.
Marking, feedback and a way back
Marking closes a hand-in and sending it back reopens it, with a reason the student actually sees. Comments are one thread per student, not a noticeboard, and a graded task can carry a weight for the module’s leaderboard.
Every version kept, and a record that stays put
Every autosave is a version: scrub through how a program came together and see every earlier copy of a hand-in. Every time somebody opens or changes a student’s work it is written down, nothing removes an entry, and the student sees the same list staff do.
Ask AI, a tutor that will not do the work
On tasks where the teacher allows it, a student can ask about the task and their code and is helped to work it out, never given the answer. It only talks about the task, a second model checks every answer, and it runs in the UK. Teachers use it to review, mark and write feedback on handed-in work. Off unless it is turned on.
One editor, every language
Web, SQL and a real Linux terminal, beside Python and Java.
The same editor, whatever the task: a web page previewed as it is typed, a query against a fresh database on every run, a Linux shell that boots in the browser, and a program in any of the languages above with completion and error checking. Every run happens in a throwaway container; nothing reaches the college’s network.
- Projects with folders, a real pom.xml, requirements.txt, package.json or go.mod, and tasks loaded from Git with hidden tests
- A time limit per task, with extra time applied per student
- Hidden tests decide the result, in pytest, JUnit, go test or node:test
Projects with folders, in the manualPackage files, in the manualTasks from Git, in the manual



The classroom
A module, a class, and marks beside the work.
A module holds programs, quizzes, written work and diagrams, and a course holds modules by year group. One join code puts a whole class on it. Marks, feedback and a way to send work back sit beside each student’s copy, and every open, save and download is written to a log the student reads too.
- Live Classroom shows who is on which task and opens their work read-only
- Lock-down mode for assessments, recording every time somebody left the screen
- Timed quizzes, one attempt or ten, the best one counting

Deployment, for learning
Students deploy real web apps, from GitHub.
Writing a program is one thing. Getting it running somewhere other people can open is the part a classroom normally cannot reach at all, and here it is a form with five boxes. Beside the app, a database and a cloud stack speaking the S3, DynamoDB and SQS APIs, so a class learns AWS with boto3 and the CLI and no AWS account.

- What a student gives it
- A public GitHub repository, a branch, the language, and a build and a start command, both filled in for the language chosen. A working example is in the boxes already, so the first deployment succeeds and the second one is theirs.
- Languages
- Python, Node, Go, Java and static HTML, CSS and JavaScript sites. A Flask or Django app, an Express server, a Go binary, a Spring Boot service, or a folder of pages: whatever the repository holds, built and run in a container of its own.
- Where it runs
- On an address of the student’s own under learntools.dev, either a random one or a name they choose and keep, so the link on a CV still works the next time they deploy. No cloud account, no card, no DNS to set up.
- Who can see it
- Nobody by default. The student invites up to 5 people by email, each of whom follows a link and confirms a code sent to that address, and the student’s own way in is on their page.
- How long it lives
- An app is guaranteed an hour and keeps running while there is room, up to 4 hours, stops after 30 minutes with nobody looking at it, and each account has 8 hours of app time a day. The page says what is left before anything is deployed, and what the app printed is on the page while it runs and after it stops.
- What it is not
- It is for learning and demonstrating, not production hosting: long enough to show a teacher, share with a few people or hand in a link, and deliberately not long enough to run a service on.
- As coursework
- A teacher can ask an assignment to be answered with a deployed app. The student deploys, hands in what they deployed, and whoever marks it stands the same app up again with one click, without spending their own daily allowance.
Labs
An Ubuntu machine for every student, or a set of containers.
A VM lab gives each student their own Ubuntu machine with sudo, set up by a script you write, kept between lessons. A container lab gives them a database, an API and whatever else a compose file describes, with a terminal that has docker. Watch any student’s terminal, or take it over to help.
- Up to 4 CPUs and 4 GB of memory a student, sized by the lab
- The class list shows the packages, files and /etc changes each student made
- It reaches Ubuntu, PyPI, npm and GitHub, and nothing else on the internet
This is your own Ubuntu machine, and you have sudo. student@vm:~$ sudo apt install -y nginx Setting up nginx (1.28.0) ... student@vm:~$ systemctl is-active nginx active student@vm:~$ sudo nano /etc/nginx/sites-available/default student@vm:~$ ▍
Why us
Built by people who teach on it
A free year, then pay per student a year
Your first 365 days are free, up to 50 students, with no payment method to start. After that it is US$450 a year for your first 50 students, US$37.50 a month, and from US$9 a student a year after that, falling to US$6.75 for the largest. Staff are free: the whole price, on the pricing page, with no quote to request.
Individual accounts are free, with no trial to end
Learning on your own is a different offer from running a college on this, so it is priced differently: free, on any email address, with nothing to pay. You get the playground, your own files and somewhere to deploy what you build. Open one.
Your material stays yours
Tasks and quizzes are ordinary files and standard survey JSON. If you leave, you leave with them.
No advertising to students
Nothing that gives a lesson away carries an ad tag, whatever anybody has agreed to, and nothing inside the platform does either. See our privacy policy.
Every page of the manual is public
The help and manual is written for somebody deciding whether to use the platform as much as for somebody using it, and none of it needs an account to read.
Readable by everybody, held in the UK
Colour schemes, text size and spacing for dyslexic and neurodivergent readers, chosen once on a profile and applied everywhere. Data is stored in the UK, and there is no parent login and no automatic cheating verdict.
Before you sign up
Questions people ask
- Can students deploy web apps on the MitsuruTech Learning Platform?
Yes. A student deploys Python, Node, Go, Java and static HTML, CSS and JavaScript sites from a public GitHub repository, and the app runs on an address of their own under learntools.dev, private to the people they invite. An app is guaranteed an hour and keeps running while there is room, up to 4 hours, stops after 30 minutes with nobody looking at it, and each account has 8 hours of app time a day. It is for learning and demonstrating, not production hosting: long enough to show a teacher, share with a few people or hand in a link, and deliberately not long enough to run a service on.
- Is the deployment a hosting service?
No. It is a teaching feature with a time limit, so a student can meet building and deploying a real application without a cloud account or a card, show it to a teacher or a few invited people, and hand it in for marking. An app stops on its own, and a student redeploys it whenever they need it again, on the same address if they chose one.
- Which programming languages can students write and run?
Python, Java, Go, C, C++, C#, Haskell, OCaml, R, Ruby, PHP, Rust, Kotlin, Prolog, Node with JavaScript or TypeScript, Bash and SQL, plus HTML, CSS and JavaScript for a web page with a live preview, a real Linux terminal, and Mermaid and Excalidraw diagrams. The code is really executed, in a throwaway container per run, and fails the way it would on your own machine.
- Does anything need installing on school computers?
No. Everything runs in the browser students already have: the editor, the compilers and interpreters, the database, the Linux terminal and the deployment. There is no plugin, no runtime and nothing for a technician to approve.
- How are quizzes marked?
By the platform, the moment a student submits, against an answer key that never reaches their browser. Nine question formats, a server-side clock, and the number of attempts is the quiz’s own setting with the best one counting.
- What does it cost a school or college?
The first 365 days are free, up to 50 students, with no card and no paperwork. After that a college pays US$450 a year for its first 50 students, US$37.50 a month, then per student per year at a rate that only falls, from US$9 each to US$6.75, staff free. Everything is included: AI for staff, the AI tutor, deploying, integrations and support, fair use. An individual account is free for ever.
- Can one person use it on their own?
Yes. An individual account is free for ever, on any email address, with the playground, your own files in every language and somewhere to deploy what you build.
- Who owns the teaching material?
You do. Tasks and quizzes are ordinary files and standard survey JSON, and a college that leaves takes them with it.
Choosing between platforms? How MitsuruTech compares with GitHub Classroom.
Start today, whoever you are.
Sign up and your school or college is running in minutes, with your first 365 days free, up to 50 students and no payment method to start. If it does not help, walk away and nothing follows you. Learning on your own, an individual account is simply free.