I’m pleased to announce a major update to the platform.
Over the last 4–6 months, a significant amount of work has come together to deliver this release. It brings many requested features, along with a wide range of improvements and fixes aimed at making the platform more efficient and easier to use for both teachers and students.
Below is a detailed breakdown of what’s new.
Performance & Feedback
Before going into the details, a quick note:
Some of these new features increase server load significantly—particularly autosave, API access, and enhanced editor tooling.
If you notice any performance issues, slowdowns, or unusual behaviour, please get in touch.
The same applies if you encounter bugs or inconsistencies.
Your feedback is important in helping refine and stabilise these updates.
New Features & Improvements
Comment Threads
Comment threads are now available, making it easier to have structured discussions around student work. These now replace the old single feedback box for each submission. Feedback on this would be gratefully received.
The site currently does live polling for comments. I don’t use sockets at the moment but wanted to ensure conversations could be tracked. It’s not ‘instantly’ updated in the way sockets would be and there are a few engineered fallbacks to keep things maintainable at load by the server but my major concern around this in my current implementation is how the polling will affect site responsiveness at scale. I’ve done a lot of work to make responses light and fast but still it’s all theoretical until everyone starts using it. I can easily adjust polling times or switch it off altogether if it impacts site responsiveness so we will see how it goes.
This has been quite a complex system to implement, especially the inline commenting. Ensuring that comments stay closely attached to the line of code they were originally attached to, ensuring edits to code don’t lose comments, ensuring where comments become unattached due to code changes these are clearly sign posted, not to mention trying to keep the user informed when comments and replies are updated.
This work has crossed over multiple areas of the site and required significant changes. I hope you find this really useful and a significant upgrade to the old feedback system.
Here is a summary of what is implemented:
- Comments and feedback can now be attached to specific lines or globally.
- Grader comments can be saved to a temporary comment bank. These are local to the current grader screen so not a permanent comment bank but when marking a full class assignment this makes it easier to copy comments through by saving and copying from the comment bank.
- If marking across a full assignment, global comments can be one click copied to all other assignments!
- Student permissions for commenting – mute, reply, full
- Gradebook shows comment status
- Quick access new comments from class menu
- Student notified of new comments in assignment and project screen and can reply directly
- Comment lines show status of line including when lines become unattached from the line they were originally attached to
- Live polling allows notification of new comments when in feedback screen and unread comments are highlighted.
Custom Reports & API Access
A new, secure API has been introduced. At the moment this is limited to fetching gradebook data. This now allows you to get the gradebook data in more flexible ways, including incorporating the data into your own app if you want. The API system offers layered protection including the ability to limit your requests by your IP and class. You can shape the returned JSON response in multiple different ways, depending on your needed.
If you are unsure how to use the API, it is possible to simply request the data via a download or site URL (you’ll need to be logged in to access the file) but the system also includes several code snippets that make it even easier for you to use the data via Python or even Google Sheets.
Quick summary:
- New custom report screen allows quick export of gradebook data in JSON or CSV formats
- Secure API allows remote connection and sync with other applications
- Code snippets provide easy implementation via Python, Node JS or Google Scripts.
- Sync data with tools such as Google Sheets or Power BI
- Shape JSON data and group by project or student or even produce a quick sync, full pivot table in Google Sheets.
- Pull JSON data into your own applications (for example, Python scripts)
- Restrict access securely by IP address and/or class
This enables custom reporting, dashboards, and deeper analysis of student performance and easy extraction of gradebook data to your own external tools.
Editor Debugger (Early Version)
An initial version of debugging tools has been added to the editor. As I have mentioned before, I use Skulpt for the Python implementation through the site, which has some quirks! One of those is that its difficult to access local variables inside a function as these are not exposed through the Skulpt API. To allow these to be tracked in a meaningful way I’ve added an additional tracking layer which tracks these variables and function calls separately to the internal Skulpt system. It works well enough in testing but obviously it’s difficult to see all the ways the site will be used so I’ll be monitoring this to see if any further improvements can be made. The reality is, this should be good enough for most learners using the system to write their Python solutions and is not an attempt to replace full debugging capability.
The new debugger features
- Basic step-through execution
- Variable watch and tracking functionality
- Tracking of how variables have changed on each step
This is an early version, with further improvements planned.
Parsons Problems Improvements
Parsons problems have been significantly improved. I’m constantly trying to refine this system to make it work better for teachers and make the parsons problems more useful. I’ve done a rework of the solution detection and processing, meaning it is now much more effective and detecting and organising solutions into problems. I’ve also done a rework of the system allowing indentation to be part of the problem solving process which I felt was missing in the earlier version as well.
Quick summary of changes:
- Automatic detection and separation of functions
- Improved indentation handling
- Easier drag-and-drop interactions
- General usability and styling improvements
These changes make Parsons problems more intuitive and closer to real coding workflows.
Autosave (Trial)
Another big feature addition and much requested. Autosave has been introduced for students and is currently in trial. I’ll be monitoring the impact of this on server performance too. Releasing this at the same time as feedback threads polling is probably not the best idea but hopefully, if I’ve done all of this correctly, responsiveness should remain in a good place. Initially the autosave kicks in after 30 seconds but this can be altered depending on the impact on performance when all students are working.
Autosave now:
- Saves work every 30 seconds
- Manual save remains available
This feature is being monitored due to server impact, and timings may be adjusted.
Editor Improvements
I’ve added a number of tweaks and improvements to the editor screen. A number of these have been requested for a little while but I finally got around to adding them. Many of these didn’t actually need much work, but I’d just put them low on the list of changes. Great to be able to get around to them!
Changes include:
- Keyword references can now be accessed from the editor screen! So as a student is programming, if they get stuck they can look it up code in the reference.
- Code folding is now implemented (click the icon to fold/unfold code where present)
- Bulk code commenting is now in place (CTRL + /)
- Full screen mode for editor (requested by my students!)
- Middle divider is now mobile touch supported (also requested by my students!)
- LaTeX/math equation support in project descriptions
- Some minor UI tweaks
Assessment Logic (Phase One)
The first phase of improved assessment logic is now in place:
- Assignments marked as assessments automatically disable support features
(such as Parsons problems, keyword reference, and frameworks)
This helps create more controlled assessment conditions. Further refinement will depend on feedback but timed assessments should now be possible along with timed accessibility rather than manual publish and unpublish.
Themes & UI Improvements
A significant number of visual and usability improvements have been made, among them:
- Student dark modes now apply across all screens – much nicer for the students.
- First version of teacher dark mode (toggle on and off through manage account)
- Fullscreen mode for leader board and gradebook
- Restyled student project page with a compact card view
- Restyled teacher project and assignment views with list and card views and rearranged and improved UI
- Resizable modals in the grader
- Improved mobile and touch support
Gradebook Enhancements
The gradebook needed some changes to add the new feedback threads notifications so while those edits needed to be put in I also took a moment to do a few general improvements, mainly tweaks to the UI:
Gradebook now has:
- Improved layout and usability
- Better handling of large datasets
- Full screen mode for the gradebook for display on teacher screen (switch to completed mode to make it easier to read progress)
- (There’s also a full screen mode for the leader board!)
Grader changes
Alongside the feedback and commenting system, the grader has undergone a bit of a facelift with a few functionality improvements.
You can also now regrade a project (rerun against tests and grade again or even bulk regrade all submissions for a given student or project). This is handy if you have spotted an issue with a project and made changes to it – for example you noticed students using a shortcut to pass a project so added more specific tests to close the shortcut – returning to the grader and clicking regrade all will now pass all submissions back through the new tests!
Project & Organisation Improvements
I’ve now added the groundwork for better internal organisation sharing of projects and assignments. There was a lot of intertwined logic but part of this was changing the flow of what happens when a teacher leaves the organisation. This needed to be worked on to incorporate the feedback threads so again while I was there I resolved the issue of what happens to a teachers projects and assignments when they leave – especially those already set to students and classes with submissions. Once I’ve made sure this update works as intended I should be able to move more easily to allowing teachers to share their projects internally without the need to copy or duplicate them.
- Improved teacher removal workflow:
- No data loss when a teacher leaves
- Projects can be reassigned or transferred
- Students and classes can be reassigned
A few other additional features
- Increased student project limits (up to 50 projects in 20 folders) – my students ran out of space!
- Google sync status indicators for teachers and students added
- Customisable command words for assignments improved
- Privacy policy updates reflecting expanded functionality
Fixes & Stability Improvements
A wide range of bugs and inconsistencies have also now been addressed:
- Fixed invite codes being case-sensitive
- Resolved gradebook overflow issues with large datasets
- Corrected leaderboard display issues (titles and colours)
- Fixed tagging issues with custom assignments
- Resolved theme application inconsistencies
- Fixed permission issues in some bulk student actions
- Corrected issues in the Replit importer affecting test execution
- Fixed UI inconsistencies in code display and layouts
- Improved handling of teacher removal and data transfer
- General styling improvements across the platform
Alongside these, many smaller fixes have been made to improve overall reliability.
What’s Next?
This update lays important groundwork for future improvements, particularly in:
- Assessment systems
- Data reporting and analytics
- Cross-organisation collaboration
Further updates will continue to build on this.
Final Thoughts
This is one of the most substantial updates to date, bringing together a wide range of feedback and development work.
If you have suggestions, feedback, or encounter any issues, please get in touch.
As always, thanks for your support. I hope you like the update!
Leave a Reply