Dec 16, 2020


  • Topics in the community can now be locked by moderators. Locking a topic prevents all users from posting any new replies on the topic.

  • Published Google documents, spreadsheets, slides, and forms can now be embedded as part of the content of a target.

UI and UX

  • The title of the tab holding the result of a quiz (within a target) has been updated to better indicate what it contains.

  • Links in parsed Markdown content now always open in a new tab.

  • Improved the controls used to sort displayed list of students in a course, in the school administration interface.

  • Added a marker to differentiate solved community topics from unsolved ones.

Nov 18, 2020


  • While adding image blocks in target using the content editor, authors can now use width control to decide what maximum width the image should take.

  • School admins can now manually issue course certificates and revoke an issued certificate using the Actions tab in student editor.

  • The community index page will now accept URL params which will update based on the selected filters for topics. This allows for sharing and bookmarking of the index page with filters applied.

  • School owners can now connect Vimeo account to their school by visiting the Configuration menu on the school page. This will enable the new direct video upload feature in the target content editor.

  • School admins and course authors can now upload videos files directly from the target content editor once the school is connected to a Vimeo account as described above. A new Vimeo content type will appear in the target content editor which will allow authors to upload and embed video content.

  • When editing a post in a community, the editor can now leave an optional “reason for edit”. This will be shown on the post’s history page.

  • The community index page now allows sorting topics using different criteria with controllable ordering. The criteria include the topic’s last activity, views and posted date.

UI and UX

  • Custom header links added to a school will now open in a new window, similar to how social links work.

  • When setting a certificate to auto-issue, school admins will be shown a warning if the final level of the course lacks milestone targets. This is because the automatic issuance of certificates will only occur when students complete all milestone targets in the final level.


  • Fixed an issue that caused students to be shown the option to level up even when they had teammates who hadn’t completed milestone targets. This was the case only when a level had milestone targets that had to be completed individually.

  • Fixed a bug that caused coaches to have only access to communities which were linked to courses assigned to them. Coaches now have access to all communities in their school.

  • Fixed a bug that prevented course authors from deleting existing Completion Instructons for a target.

  • Fixed a bug wherein a school admin could attempt to access a student report page without being a coach in the student’s course.

  • The daily digest email will no longer be sent to students whose access to their courses has ended.

Oct 06, 2020


  • The community index page that lists topics has been re-built to support categories and filterting. Communities can now have topic categories (managed by school admins), and one of these categories can be optionally attached to a topic when it’s created by a user, or by a moderator when editing an existing topic. A filter has been introduced to allow filtering by category, resolution status (Solved, or Unsolved), or to search by topic title. The search function has also been improved to perform fuzzy searching that returns more relevant results,.

  • The community updates section in the daily digest has been overhauled. These community updates used to show an unlimited number of newly created topics, and a limited number of topics without replies from each community that the user is a part of. The new digest includes two categories of community updates with up to five topics each, spanning all accessible communities. These categories are: Latest topics posted, and Older popular topics with new activity, both sorted by popularity. Popularity is now tracked using the number of views that a topic has garnered.

  • School admins can now take all actions available to coaches in a school’s communities. Both classes of users are treated as community moderators.

  • If a user attempts to access a restricted page without being signed in, and are asked to sign in as a result, they will now be automatically redirected to the page they’d been trying to reach after they sign in.

  • Added information about which level a students are in, and when they last signed in, to course data exports created from the school administration interface.

  • The descriptions of target groups can now be formatted with Markdown - this adds support for things like inline styling and multiple paragraphs.

UI and UX

  • The Targets Overview section on the student’s Report page has been updated to explain what status all targets are in. These statuses now match the updated clabels on the curriculum page as well.

  • The Undo Grading button in a reviewed submission now required confirmation, to prevent accidental click from deleting grading information.

  • The public list of coaches page has been redesigned to match current standards, and it has also been upgraded to support filtering by course. Logged in students also have their course pre-selected in the filter when they visit. A link to this page will also be automatically inserted into the top navbar when there is at least one public coach profile.

  • The status labels displayed on targets on the student’s curriculum and coaches’ review interface have been tweaked to make it easier to understand. The term Pending (used for targets that haven’t been attempted) has been removed altogether. Only three statuses are displayed now: Completed, Rejected, and Pending Review.

  • Issued certificates now display the current name of the student on the verification page. However, if the name has changed since it was issued, this information is also displayed on the verificaation page.


  • Fixed an issue where updating the details of a non-reviewed target would wipe the completion record for students who had marked the target as complete.

  • Fixed an issue that allowed users to create multiple account deletion requests at once.

  • Fixed an issue that caused the student’s report page to count targets in Level Zero towards their overall completion.

  • Fixed a bug that caused newly loaded entries in the coaches’ review interface to be placed at the top of the list, instead of the bottom.

  • The search function on the coaches’ students interface now returns proper results when an email address is supplied.

Aug 27, 2020


  • A new interface has been added to manage course certificates; certificates begin as base images that schools admins upload, which can then be used by the platform to automatically issue certificates to students who complete courses.

  • Students, coaches, and authors now receive a notification email when they’re added to the school. When adding students, admins can choose whether or not to send the notification.

  • Coaches can now sort submissions in the review interface, by the time at which they were submitted.

  • The ability to control image sizes in Markdown has been improved, fixing some issues, and allowing the width to be set as a percentage of the container.

UI and UX

  • When there is only one featured course in a school, it is now centered in the list that is shown on the school’s homepage.

  • The footer link to Terms of Use has been renamed to Terms & Conditions to broaden the scope of the document that can be shown on that page.


  • Fixed an issue where marking a post as a solution in a community topic would also mark the post as having been Last Edited by Deleted User.

  • Fixed a bug that caused the over-writing of answers from students to multi-select type questions, when a coach submitted a review on submissions. This bug affects only affected submissions on targets that had multi-select type questions, and only on the responses for that particular type of question.

Jul 13, 2020


  • The size of images embedded using Markdown can now be controlled using an extension of the Markdown syntax.

  • The platform now includes the ability to automatically delete data of users who haven’t logged into their account in a long time. This period of time is configurable, and defaults to infinite, making it an opt-in feature for schools. This is in accordance with the principle that you should hold onto information about your users only as long as is necessary for the performance of some function.

  • Users can now delete their own account and data from the Edit Profile page; this does not require any intervention from school admins.

  • Target and target groups can now be moved around freely within the curriculum; the platform will take care of clearing relationships such as prerequisites when such moves occur.

UI and UX

  • The order of submissions shown to students within a target is now reversed, so that their latest submission is shown at the top, along with a submission number.

  • When editing a target, the warning about unsaved data will also appear if a user tries to close or refresh the browser window or tab. This is in addition to the warning that appears when navigating within the app.

  • When replying to long messsages on community topics, the preview of the original post now fades out after a fixed height, instead of displaying the whole message.

  • Improved how the platform handles the case where someone is both a coach, and a dropped-out student in a course, at the same time, with improved text displayed on the user dashboard, and fixes to links on the student’s curriculum view.

  • Submissions that have a team mismatch (team changed after submission) that are listed in a student’s course report now link directly to the backup of the submission (instead of the target page). A link to the target is still provided, but that’s treated as a secondary link, since the target page won’t show that particular submission anyway (because of the mismatch).

  • The user’s home page is now her Dashboard. This change in name differentiates it from other pages, such as the school’s homepage and makes it easier to refer to it in documentation.


  • Fixed a crash that could occur in the student’s view if a draft target is set as a prerequisite to a live target.

  • Fixed an issue with edits to previously saved target content blocks not triggering the confirmation to discard changes, when changing target editor tabs, or closing the editor pane.

  • Fixed a mistake in the calculation of average grades displayed in the student’s course report page; the page now only uses scores from the latest submissions of each reviewed target to compute the average grade (as opposed to scores from all submissions).

Jun 18, 2020


  • Student tags have been shifted to their teams. This change has a small disadvantage, in that a student in a team cannot have their own unique tags. However, this change also introduces the ability for coaches to filter their students (teams) by tags applied, and it allows the team-data course export to filter exported data by tags, just like the student-data export.

  • Coaches can now filter students (teams) by the presence or absence of coach notes.

UI and UX

  • The control icons to the right of each content block, in the target content editor, are now sticky. This makes saving content blocks easier, especially when content blocks are really tall.

  • The list of submissions in a coach’s Review interface now shows the name of the team in every listed team submission. When the submission overlay is opened for any team submission, the names of all students in the team are shown along with the team name.

  • Some emails related to a course will now include the header image of that course, if available.


  • Fixed an issue with coach’s review interface where, under certain circumstances, the Save grades button was disabled even after assigning grades for all available evaluation criteria.

  • Fixed an issue that, under certain circumstances, would cause a target that had a reviewed status to revert to pending when a team member created a new submission for the same target.

  • Fixed a UI crash that could occur on the admin’s level editor when the unlock date for a level was not set.

May 18, 2020


  • Students can now view a progress report for the course they’re taking. This contains information that was previously available only to coaches via the student report page. It also shows all of a student’s own submissions in one place.

  • Course authors can now merge one level into another; this action will shift all content and students from the source level to a target level, and then delete the source.

  • The distribution of students shown to coaches is now dynamic, and responds to the coach selected in the page’s filter.

  • School admins can now configure the progression behaviour for courses that contain reviewed milestone targets. There are three possible behaviors, all of which have new documentation.


  • Fixed a crash that could occur when a student attempted to archive a community topic topic that they’d created.

  • Fixed an issue on mobile displays viewing community posts that contains wide pre-formatted text that went beyond the width of the screen. These pre-formatted elements now properly scroll and do not affect the width of the rest of the page.

Apr 27, 2020


  • The community feature has been altered significantly. We noticed that users wanted to hold more detailed discussions in the community instead of simply getting questions answered. Acknowledging this, we’ve converted it into a place of discussion. Users can create topics, and others can reply by creating posts in each topic thread. This allows the community to function more like a traditional forum. Students can still create topics that are linked to course targets, and both students and coaches now have the ability to highlight one reply as a Solution for the topic thread.

  • To improve security, all existing school admins are now notified by email when a new admin is added.

  • We’re beta-testing a certificate issuance feature that will allow school admins to configure courses to automatically issue certificates when students complete a course. This feature accepts an image as the base certificate and inserts the student’s name and a QR code containing a link to verify the certificate when the certificate is issued. This feature is currently accessible only by contacting the Pupilfirst team - we’re still working on the UI that will let admins set up and configure these certificates.

  • Coaches can now see how their students are distributed in a course, across its many levels, on their students list. This gives coaches a quick overview of how their students are doing, whether there are students that are stuck somewhere, or waiting for new content to unlock, etc.

UI and UX

  • The courses listed in a user’s Home page no longer lists duplicate links to the same page; the call-to-action (the big link) used to be shown in the list of smaller links above it as well - this is no longer the case.

  • The Get Started links under each course on a school’s homepage used to always link to the course’s public description page. Now, it changes into a link to the course curriculum if the user is signed in, and is already a student of the course.


  • Fixed an issue that could cause the student’s target overlay to crash if there were special characters at the end of the URL.

  • Fixed an issue with the course selector dropdown in school administration interface, which caused longer course names to wrap underneath the adjacent element. Long course titles are now properly truncated in the dropdown.

Apr 06, 2020


  • The coach’s review interface has seen a few upgrades. Instead of pre-loading Pending submissions, it now behaves like the Reviewed list, loading data as needed, and refreshing when filters are changed. The sort direction for submissions can now also be toggled, on both lists.

  • The form used to create new questions on the community now suggests similar questions when a user types in a few words.

  • A new export type - Teams - has been added to export data focused on students who have been grouped together into teams. This new export type changes the resulting export in many ways to expose data that isn’t available in the previous export type - now called Students. New documentation has been added to explain the new export type.

  • Selecting in a coach from the list of coaches assigned to a course now shows some stats about the coach in the drawer that opens up.

UI and UX

  • Emails are now sent to course applicants only after checking for bounce-reports from Postmark, just like regular user emails are handled. Instead of silently failing, applicants are now shown a proper error message if they use a previously bounced email.

  • Coaches and school admins can now see the connect links for all publicly listed coaches on the /coaches route.

Mar 23, 2020


  • Course authors can now create and edit evaluation criteria in the course that they’re assigned to, just like school admins.

  • Coach assignment to courses has been greatly simplified; with this change, all coaches assigned to a course are now treated the same. If a coach is assigned to a course, then they can access and review submissions from all students in that course. The team / personal coach feature is still present - however, it is only used to indicate which coach is assigned to a student or a team. Filters have been introduced to the coach’s review and students pages so that they see their own students by default, but with the option to see other coach’s students, or to see all of them at once.

  • Instead of sending coaches individual notification emails whenever their students submit work, the daily digest has been upgraded to include this information. It shows the count of submissions that are pending review in a coach’s courses, and the portion of those that are directly assigned to the coach.

  • When a target is changed from non-reviewed to reviewed, the platform now clears all existing submissions from students. This was required because the platform creates submission records even for those targets that aren’t reviewed, and prior to this change, these automatically created submissions would show up in a coach’s review interface when a non-reviewed target gets changed to one that requires review.

UI and UX

  • Students now have access to the new markdown editor when filling in long text type steps for reviewed targets. This change also increases the length limit of long text from 1000 to 5000 characters and it shows a warning once the student writes more than 4,500 characters.


  • The correct level is now selected when the target editor is loaded by visiting a direct link. Prior to this fix, refreshing the editor or visiting the target editor with a direct link would cause the underlying UI to pick the maximum possible level instead of the target’s level.

  • When in a student in a team submitted an team target (one that only one team member needs to submit), the target overlay would incorrect list other team members as having not submitted work for the target. This bug has been fixed, and this team member pending notification now only shows up for individually completed targets, when applicable.

  • Course authors are now prevented from creating targets with identical required steps. i.e., the step’s title text needs to be unique if it’s not an optional step for students. This is a side-effect of the way these steps are represented in our database. However, we believe that this limitation shouldn’t be an issue for authors and that it’s better for students if step titles are distinct from each-other.

  • The student level progress bar on their report page was showing incorrect colors to represent student status. These issues have been fixed, and the colouration of the level bars has been documented.


  • The Upload Files type step in a target now informs authors that there is a limit of 5 MB to student uploads. The steps feature also has a new help icon that describes itself, and links out to official platform documentation.

Mar 02, 2020


  • Authors of a course can now decide exactly what steps they want a student to take when submitting work on a target. Prior to this update, students were always required to type in some text that described their submission, and could optionally attach links and files. This process is now configurable, with course authors deciding the steps - how many, what kind, and whether some are optional. Students are shown these same steps on the Complete tab of reviewed targets. When reviewing submissions, coaches can optionally mark student steps as incorrect, and the result of this check is shown to students. In addition to detailed feedback, this gives students much greater clarity on what to do and how to improve.

  • Quiz submissions now look better! Thanks to the changes made to implement target completion steps, we’ve used the same design principles to clearly differentiate correct and incorrect responses.

  • The course export spreadsheet now includes a unique ID for a student that, for convenience, links to the report page of the student.

  • School admins can now assign and edit the authors of a course. Authors are users who can edit the curriculum of a course - see the documentation of the feature for more information.

UI and UX

  • When a new user is added to the platform, they now default to having the community digest email turned on.

  • The messaging in the email sent to applicants of a course, and error messages shown if users revisit one-time links have been improved.

  • Coaches are now shown a warning if they’re looking at the student report of, or a submission from a student, who is inactive on the platform, whether because they’ve dropped out, or their access to the course has ended.

  • Coaches can now leave a note for a student while they’re reviewing a submission, without having to open the student’s report.

  • Coaches assigned directly to students and teams are now shown on a coach’s students list, and within a student’s report.


  • The course selector dropdown inside the header of student pages now properly scrolls when the user can access a large number of courses.

  • We’ve fixed an issue with some links on the platform that prevented them from opening in a new tab when command-clicking (OSX) or control-clicking (Windows / Linux) links.

  • User avatars built from a user’s name now properly center the initials on the Firefox browser.

Feb 17, 2020


  • All users can now change their password, or set a new password for signing in, from the user profile edit page. Previously, setting or changing a password could only be done while signed-out, from the sign in page.

  • Students can now attempt all non-reviewed targets in all unlocked levels. This changes the earlier behavior of locking all targets in levels that a student hasn’t reached, and makes it so that targets that aren’t reviewed by a coach (i.e., completed by the student on their own) can be attempted as long as the level itself is unlocked. Reviewed targets are still locked until a student reaches the level that the target is in.

  • The Markdown editor used to accept text input from users across the platform has seen a major upgrade. It’s now a mostly custom implementation that avoids a number of known issues, and adds a new full-screen edit mode that shows a live preview of the Markdown text.

  • The interface used to author a target’s content has seen a complete overhaul. What used to be a two-step process is now seperated into three tabs - Content, Details, and Versions. This overhaul simplifies the user experience and fixes a number of issues that have been known for some time. It also brings greater control over the versioning feature and prepares the UI to accept new features that we’re currently working on.

UI and UX

  • Navigation within the student’s curriculum is now a little bit easier thanks to quick links to the next and previous targets and levels. The level selector has also been upgraded to display the student’s status in the level within the dropdown.


  • We’ve fixed some issues with the way a target’s status is computed when the members of a team change mid-way through a course. The new implementation takes a more simple approach for team-targets, by ignoring submissions linked to a list of students that doesn’t match the current list of a team’s students.

Feb 03, 2020


  • The list of students in a course, displayed to school admins has been re-worked. The list is now paginated, and includes a flexible search, filtering, and sorting function. Admins can filter the results by picking a level or a number of tags from the suggestions presented, or can search by the student’s name or email address.

UI and UX

  • The student’s names in a coach’s submission review page are now linked to their student report page. This allows coaches to quickly leave notes, or impressions about the student that are formed when they’re reviewing submissions.

  • Targets listed on the student’s curriculum, submissions on a coach’s review dashboard and students listed in a coach’s students section are all now proper hyperlinks. This means that they can be easily opened in a new tab, for easier multi-tasking.


  • When viewing details of a submission on the coach’s review interface, the list of previous submissions used to include all submissions that were from any of the students linked to the selected submission. The submission overlay now only shows other submissions from the exact same set of students as the chosen submission.

  • Duplicate entries were shown for submissions from a team of students. These are now correctly shown as single entries on the coach’s review interface.

  • While the last set of changes included the ability for coaches and admins to access the content of locked levels, it missed out on allowing them to actually level up to those levels, to start working on the targets.

  • The number of students reported in a course export’s Targets sheet used to include inactive students; this has been updated to exclude them.

Jan 13, 2020


  • The grading scheme has been made much more flexible by moving it out of a course, and into individual evaluation criteria. This allows targets to be graded on multiple criteria, each of which can have their own grading scale.

  • The course data export feature has been improved and expanded. Admins can now choose to export data only about reviewed targets, the Targets and Students sheet now includes average grades, grouped by evaluation criteria, and grades for all submissions are included in the sheet. There are also a few other quality of life improvements: see the Github pull request for more information.

  • Coaches and school admins can now access the content of locked levels. School admins have access to locked levels across all courses, whereas coaches can access locked levels of courses where they have assigned students.

  • Coaches can now archive their own notes on a student’s report page.

UI and UX

  • The course’s preview mode, available to school admins and coaches, now loads the curriculum at the first level of a course, instead of the last.


  • The target details overlay is now displayed only if the target is live; earlier, it would open, but fail to load a target’s details because of it’s state.

Registered Office Address

Pupilfirst Pvt. Ltd.,
1st Floor, C M Complex,
Kalavath Road, Palarivattom,
Kochi, Ernakulam, Kerala,
India — 682025
CIN: U74999KL2017PTC069556

Business Office Address

Pupilfirst Pvt. Ltd.,
International Center for Free
and Open Source Software,
Swatantra, South Pavilion,
Sports Hub, Karyavattom,
Thiruvananthapuram, Kerala,
India — 695581.
[email protected]

Pupilfirst Pvt. Ltd. uses cookies on to analyse usage of the website and to understand where our visitors are coming from. Cookies may be placed by third parties. By closing this message and continuing to use the site you consent to cookie use by