Skip to content

Company Structure and Objectives T3 2025

Executive Summary

Thoth Tech is an education-focused technology company located in Melbourne, Australia. Thoth Tech’s mission is to build, operate, and deploy tools that enhance education outcomes by empowering students, connecting them with tutors, and facilitating personalised learning experiences.

We value excellence and collaboration. We strive to deliver all our products in exceptional quality, making sure it is sustainable in the long run. We continuously meet this goal while empowering our people through established frameworks and a safe and supportive learning environment.

This report will outline the company structure, objectives, and projects for Trimester 3, 2025. This trimester, Thoth Tech will be running the two main products: OnTrack and SplashKit.

Table of Contents

Leadership Team

Company Board

  • Dr. Amin Abken - Company Director
  • Prof. Andrew Cain - Product Owner (OnTrack & SplashKit)

Product Mentors

  • OnTrack: Brian Dang
  • SplashKit: Monica Tasmin

Student Leadership

  • Kacie Eaton, senior leader (OnTrack)
  • Steven Dalamaras, junior leader (OnTrack)
  • Rammaka Aaron Iddamalgoda, junior leader (OnTrack)
  • Jayam Jaluk Patel, junior leader (OnTrack)
  • Muhammad Danial, senior leader (SplashKit)
  • Duncan McMurtrie, junior leader (SplashKit)

Trimester Goals and Objectives

This trimester, Thoth Tech aims to achieve the following:

Goal 1: Foster Professional Growth and a Collaborative Team Culture

  • Encourage Lifelong Learning and Skill Development: A core tenant of our products, OnTrack and SplashKit is to provide a supportive environment where students and beginners can take ownership of their learning. OnTrack is a tool to keep your learning “on track,” and beginner programmers can “make a splash” with SplashKit. Our hope is that these tools give students confidence and develops their mindset to become lifelong learners.
  • Promote Initiative and Teamwork: As a team, we seek to empower team members to take ownership of their work while encouraging a collaborative culture built on mutual responsibility and shared success.
  • Develop Clear and Accessible Documentation: To support students and beginners in their journey, it is imperative that rich documentation and tutorials accompany our tools. This feeds into the lifelong learning goal by teaching students’ habits of self-education and reading documentation.

Goal 2: Strengthen and expand our products

  • Migrate features to newer, secure versions: To keep our products relevant and ensure they meet evolving user needs, we are expanding and/or migrating our products to new languages and frameworks, such as from Angular.js to Angular and JavaScript to TypeScript in OnTrack, as well as improving C# support in SplashKit.
  • Address critical bugs and security vulnerabilities: We will prioritise fixing high-impact bugs and security issues to maintain a high standard of quality, reliability, and safety in our products.
  • Improve user experience: We will prioritise fixing high-impact bugs and security issues to maintain a high standard of quality, reliability, and safety in our products.
  • Improve user experience: Across our products, we aim to improve self-serve capability such as self-enrolment, tutor activity tracking and staff granting of extensions in OnTrack, user game upload to SplashKit online and improved package management for SplashKit Core. We will also improve accessibility with colour themes for those with impaired colour vision in OnTrack.

Goal 3: Improve project governance & transparency

  • Improve alignment between goals, roadmap, and tasks: At present, there are enhancements and fixes in the T2 2025 roadmap, both short- and long-term, that our planner board tasks do not represent. We seek to improve the alignment between our longer-term roadmap, shorter-term goals, and immediate-term tasks – this will provide a clearer vision on what work needs doing to further what we are building.
  • Clean up pull requests in our repositories: Previous company members have completed some tasks in our planner boards, with code that the maintainers have reviewed and accepted on GitHub. We aim to accept pull requests for completed works where relevant, and to close out the associated user stories.
  • Improve opportunities for contribution: By improving the alignment of our roadmap, goals and tasks, and by having better and more detailed user stories in our planner boards, we will give junior team members a better sense of direction and therefore a better opportunity to build their technical confidence and capability when contributing to an ongoing project.
  • Improve user experience: Across our products, we aim to improve self-serve capability such as self-enrolment, tutor activity tracking and staff granting of extensions in OnTrack, user game upload to SplashKit online and improved package management for SplashKit Core. We will also improve accessibility with colour themes for those with impaired colour vision in OnTrack.

Project 1 - OnTrack

Overview, Goals, and Objectives

OnTrack (a.k.a. Doubtfire, Formatif) is a modern, lightweight learning management system that multiple universities Australia-wide make use of. While the base product is stable and useful, our work here intends to uplift the product to newer frameworks, roll out new features, and patch security vulnerabilities. Improvements made to this project have the potential to positively impact students in the institutions that use OnTrack.

Aims for Trimester

This trimester, the OnTrack team at Thoth Tech will build upon the foundational work of T2 2025 to continue modernizing and expanding platform functionality, accessibility, and performance. Our focus will be on completing high-priority migrations, implementing user-focused features, and reinforcing system security and documentation standards. The following areas are targeted for completion or significant progress:

1. Frontend Migration: AngularJS → Angular 17

  • Merge pull requests related to any previously completed frontend migrations to accurately reflect progress in this aim.
  • Map remaining legacy components and complete migration from Angular JS and Coffee Script to Angular and TypeScript
  • Assess and catalogue UI components using outdated design language and remediate to improve consistency in conjunction with the Accessibility work package.

2. Accessibility: Colour Themes

  • Introduce customisable colour themes with specific presents for several types of colour vision deficiencies (e.g. deuteranopia, protanopia).
  • Integrate theme selector into user settings and ensure WCAG 2.1 AA compliance across themes.
  • Conduct user testing to validate effectiveness and usability of new themes.

3. Security and Authentication

  • Perform a high-level vulnerability assessment of the OnTrack backend, guided by the OWASP Top 10 (e.g. injection issues, broken authentication, access control weaknesses, and security misconfigurations).
  • Patch outstanding vulnerabilities from previous penetration testing and recent findings, prioritising critical and high-risk issues.
  • Improve authentication and session handling to make login and access more reliable and secure across the platform.
  • Begin laying the groundwork for future enhancements such as SSO and mTLS, ensuring that any prototypes follow secure design principles.

4. Organisational Structure Support

  • Introduce the concept of Organisations into OnTrack: allow multiple institutions or units to operate under a single instance.
  • Develop and deploy the Observer Role to support administrative oversight without direct intervention privileges.
  • Finalize RBAC mappings and permission sets to ensure scalability and maintain security.

5. Tutor Activity Tracking

  • Deliver the Tutor Time Tracking module: Stopwatch + Manual Input + Analytics dashboard.
  • Enable notifications for time limits and allow Unit Chairs to access reports via a central interface.
  • Securely store and expose tracking data via authenticated APIs for internal analytics.

6. Self-Enrolment & Capstone Enhancements

  • Roll out Student Self-Enrolment for units and projects.
  • Enhance the Capstone Project Selection tool with input validation, improved form UI/UX, and backend CSV export support.

7. OnTrack Documentation Website

  • Finalize API reference pages for frontend and backend endpoints.
  • Fill documentation gaps from T1 and begin “Getting Started” onboarding guide series.
  • Host tutorials and videos to support student and developer use cases.

8. Staff Grant Extension

  • Add UI that allows tutors to grant extensions.
  • Enable notifications for staff-granted extensions, delivered via email or in-system.
  • Finalise and thoroughly test the backend API endpoints.

Deliverables – T3 2025

The following deliverables are expected to be completed or reach significant milestones during Trimester 2, 2025:

1. Frontend Migration

Trimester Priorities:

  • Complete audit of remaining legacy components.
  • Complete migration of all child components.
  • Complete migration of isolated components. Long Term Priorities:
  • Migration of all legacy AngularJS and Coffee Script components to Angular 17 and TypeScript.
  • Improved UI consistency and accessibility across updated components.

2. Accessibility Enhancements

Trimester Priorities:

  • Finalise the CSS style guide.
  • Apply style guide restrictions consistently across components. Long Term Priorities:
  • Deployment of configurable colour themes, including presets for various colour blindness types.
  • Theme selector integrated into user profile settings.
  • Accessibility compliance testing completed and passed (WCAG 2.1 AA baseline).

3. Security and Authentication Upgrades

Trimester Priorities:

  • Complete an OWASP Top 10–aligned vulnerability assessment of the OnTrack backend, focusing on authentication, access control, and data handling.
  • Patch the remaining high-priority issues from the T1 penetration test and any newly identified vulnerabilities.
  • Improve security documentation and introduce simple security checks into the CI/CD pipeline (for example, basic dependency and configuration checks). Long Term Priorities:
  • Deliver a more modular and maintainable authentication system that clearly separates login, session, and authorisation concerns.
  • Continue implementing security improvements based on audit and assessment outcomes, reducing the likelihood of recurring issues.
  • Establish a foundation for future SSO and mTLS integration, ensuring the design supports secure, multi-institution use.

4. Multi-Organisation Support

Trimester Priorities:

  • Complete and merge pull request #75 against doubtfire-api. Long Term Priorities:
  • Backend schema updated to support multiple organisations.
  • Observer Role created and assigned appropriate RBAC permissions.
  • Initial organisation switching UI available to admins and superusers.

5. Tutor Activity Tracking Module

Trimester Priorities:

  • Complete and merge pull request #51 against doubtfire-api. Long Term Priorities:
  • Stopwatch and manual time entry system deployed for tutors.
  • Alerts implemented for tutors exceeding marking time limits.
  • Tutor analytics dashboard available to staff with data pulled from secured API endpoints.

6. Documentation Website

Trimester Priorities:

  • Improve documentation across all aspects of OnTrack to ensure consistency and coverage.
  • Add timestamp and author to documentation.
  • Explore concept of assigning docs pages to certain team members to update. Long Term Priorities:
  • API reference fully updated with new and refactored endpoints from Swagger.
  • Backend and frontend architecture docs finalized.
  • Complete “Getting Started” guide to create smoother team onboarding.

Project Members

Member NamesRoles/ResponsibilitiesJunior/Senior
Kacie EatonTeam LeaderSenior
Epitacio SinghTeam LeaderSenior
Mannat SharmaTeam MemberSenior
Supun HettiarachchiTeam MemberSenior
Ishika RajaniTeam LeaderSenior
Mohammed HusainuddinTeam MemberSenior
Steven DalamarasTeam LeaderJunior
Jayam Jaluk PatelTeam LeaderJunior
Rammaka Aaron IddamalgodaTeam LeaderJunior
Millar HosieTeam MemberJunior
Pranjal KatiyarTeam MemberJunior
Rubalpreet SinghTeam MemberJunior
Siham AbdoshTeam MemberJunior
Samuel Nunes Dos SantosTeam MemberJunior
Jason GilfoyleTeam MemberJunior
Jeffy Sam BabuTeam MemberJunior
Yeshin GovenderTeam MemberJunior

Project 2 - SplashKit

Overview, Goals, and Objectives

SplashKit is an open-source software framework designed for beginners and students, to simplify application and game development. The core SplashKit framework was initially developed in C++, but support has now been added for C#, Python, Pascal, and JavaScript; beyond the core framework, the project also encompasses an online IDE, physical arcade machines, and a website and tutorials.

This trimester 3 2025, we will be running the following projects aligned with the above:

SplashKit Website & Tutorials

The SplashKit website aims to offer user-friendly installation instructions and tutorials aimed at helping beginners and students explore SplashKit’s functionality. Work for this team will include expanding usage examples and tutorials across the supported languages, continuing to improve the user interface by leveraging Tailwind CSS, Preline, and existing component libraries, and improving the Netlify build process.

SplashKit Expansion

The SplashKit Expansion team is responsible for maintaining and enhancing the SplashKit Core Library. This will include bug fixes, unit testing, adding SplashKit to the NuGet package manager, and feature enhancements.

SplashKit Online

This team is responsible for the online IDE. Work in this team will include improving C++ and C# support, as well reworking the file structure to better support C#. Beyond this, our roadmap for this product includes a code checker to check code prior to deployment on SplashKit Online or the arcade machine, and – aligned with checking code before deployment – an easier way for students to add games to SplashKit Online without having to rebuild the site.

SplashKit Arcade

In prior trimesters, the SplashKit team have obtained and deployed physical arcade cabinets containing Raspberry Pi 5 and 3B+ computers, designed to showcase games developed with SplashKit. Test machines were developed in T2 2025, along with demonstration games; the focus now will be on maintenance of the arcade game hardware, bug fixes for the machines and the games previously created, and implementation of an API to improve controller support.

Aims for Trimester

Improve Stability and Reliability

We will work to address several outstanding bugs in the SplashKit Core library and in games created for SplashKit Arcade; depending on resource availability, bug fixing work is required for SplashKit Arcade hardware as well.

Develop and Refine Unit Tests for SplashKit Core

Continuing this goal from T2 2025, we aim to continue building a suit of unit tests for SplashKit as well as making sure existing unit tests are consistent and comply with best practices.

Begin Implementation of SplashKit into NuGet

Further to the roadmap set out by the T2 2025 team, we will work to add SplashKit to the NuGet package manager, ensuring it has a proper icon and description. In parallel, we will document this packaging process.

Improve User Experience & Accessibility

We will work to improve the UI/UX of the SplashKit website, and to enhance tutorials and documentation with clearer examples and better language coverage.

Expansion of the SplashKit Website Usage Examples and Beyond SplashKit

The SplashKit Website team will be attempting to go through the backlogs of Usage Examples to further enhance the user experience on the site while also creating more resources for Beyond SplashKit, offering users the opportunity to learn how to code these functions without SplashKit.

Deliverables – T3 2025

SplashKit Website & Tutorials

We have a small team this trimester, so this trimester we will focus our attention on the following deliverables:

Trimester Deliverables:

  • Improved and expanded unit tests for SplashKit Core.
  • Meaningful progress on inclusion of SplashKit in NuGet package manager.
  • Resolved bugs in SplashKit Arcade demonstration games.
  • Resolved SplashKit Core bugs related to macOS, pending resource availability.
  • Enhanced tutorials and documentation on the SplashKit website.

Longer-term objectives unlikely to be completed this trimester are:

  • Bug fixes to SplashKit Arcade hardware – only one member of our small team has selected SplashKit Arcade as their area of interest, and campus availability and access to the machines is not yet clear.
  • Implementation of a controller API for Arcade Machine hardware. As above, this requires access to the hardware.
  • Porting SplashKit Core to Rust. This is a large piece of work, and no team member has specified Rust as an area of knowledge.
  • Investigating a Pascal memory leak in SplashKit Core. Like the above, no team member has specified Pascal as an area of knowledge, and fixing a memory leak does not sound like a good beginner’s problem with a new language.
  • Unit tests for graphics functions. This was mentioned as a roadmap item by the T2 2025 team; this is a good idea in principle but might prove too much for our small team – it would likely involve decoupling graphics logic/algorithms from the rendering API and may require refactoring of existing graphics code to be implemented.

Project Members

Member NamesRoles/ResponsibilitiesJunior/Senior
Muhammad DanialTeam LeaderSenior
Duncan McMurtrieTeam LeaderJunior
Rabail AamirTeam MemberSenior
Steve KingTeam MemberJunior
Rory DouglasTeam MemberJunior
Lachlan (Lachie) EvansTeam LeaderJunior
Riveen HaggallaTeam LeaderJunior
Liam UngerTeam MemberJunior
Daniel EikelisTeam MemberJunior