Modernising a legacy application to track the progress of 1000+ pupils

Modernising a legacy application to track the progress of 1000+ pupils

Key Technologies
  • React native
  • Javascript
  • Kotlin
  • Swift

Client

Juniper Education is a comprehensive education support service who provides software, training and professional services to Schools across the country. 

The company works to resolve challenges that the educational sector is facing – be they human, technological or operational – so that all pupils are given the best chances to succeed.

To achieve the best outcomes, Juniper provides support across all core educational processes, from HR & Development to Curriculum & Assessment. 

All solutions are grounded in the expertise of a nationwide network of experts, which includes former headteachers, business managers and leaders. Leveraging this diverse skill set allows Juniper to create solutions that speak to their clients’ needs both now and in the future. 

Today Juniper is trusted by over 12,000 schools, who they work in collaboration with to provide successful, long-term solutions. 

Background 

Juniper was undergoing significant growth which included the acquisition of other educational support applications. With this growth, came the requirement to provide applications that would allow in excess of 1000 teachers and parents to monitor pupil activity. As well as monitoring academic progress, the applications were designed to allow parents to pay for school meals, school trips and other resources for their children. 

However, these two existing legacy applications were not performing sufficiently and were becoming detrimental to the overall user experience. Crashes were common and sometimes users were unable to login. Issues left users feeling highly unsatisfied, which was having a negative impact on customer experience. 

The age of the apps also meant that there were many vulnerable dependencies and, therefore, sensitive personal data was at risk. 

To address these challenges, Juniper required a mobile application that was stable and performant enough to support a wide user base. A core requirement of the applications was that it be fully compatible with both iOS and Android, again, ensuring maximum usability.

Similarly, Juniper's newly acquired applications required their branding to be consistent with other Juniper products. 

Solution 

Juniper worked in partnership with Audacia as part of a team augmentation project to improve their existing applications and provide new functionality — in line with legal and business requirements. 

Through team augmentation, Audacia developers were able to work closely with Juniper's in-house developers on the project. The project began with initial analysis sessions that would allow Audacia to scope out Juniper’s requirements and pain points. The results of these analysis sessions provided a strong foundation for the project. 

For example, these sessions revealed several complexities with how the application was being hosted on the backend. Presented with this information, Juniper’s project team could promptly address these issues, before allowing Audacia to make improvements to the mobile application. 

Audacia used open-source UI framework, React Native, to create the two differently branded versions of Juniper’s core applications, Sonar and Horizons:

  • Sonar: An online pupil progress tracker that combines an effective curriculum framework (Sonar Curriculum)
    and a system that shares pupils’ progress (Sonar Tracker and Sonar Awards). This project specifically dealt with Tracker and Awards, which allows Teachers and Parents to follow a pupil's progress, respectively.
  • Horizons: A cloud-based school Management Information System (MIS) that’s engineered to meet the needs of primary schools. The application provides educational professionals with all the tools they need to manage a busy school day.

React Native was chosen for speed of development, since this technology allows developers to write features that target both the Android and iOS platforms. This flexibility meant that it was straightforward to create two performant apps while keeping the theme consistent across both. 

This technology, additionally, offered some useful CLI (Command Line Interface) commands for creating the separate builds.

Audacia adhered to all official Google and Apple application development standards throughout the project, as well as completing additional details to ensure Apple screened the application for age sensitive content before deploying it to the app store.

Audacia also implemented authentication using various identity platforms, such as Auth0, to ensure the delivered system was robust and secure. In addition to protecting sensitive personal data, these services reduce the risk and cost of building custom authentication solutions.

Juniper software development screens

Results 

Supporting 12,000 schools
Securely tracking the progress of over 2.5m pupils
80% reduction in report complexity

The objectives for this project were met overall; Juniper’s core applications have been improved to more closely align with modern day development standards, with significant improvements being made to the performance and security surrounding the app. 

Juniper saw significant benefits in the overall performance of their application, whilst also benefiting from new security functionality.  On top of this, the apps are equipped to handle Juniper’s national client base across key mobile operating systems and devices. 

With this strong foundation, Juniper can continue providing visibility to pupil activity across both parents and teachers. The refining of company branding across Horizons and Sonar applications also gives Juniper clarity across their core products and service offerings.