Pikmykid: The Leading Safety and Dismissal Platform

Sector Security / School Safety

Project Pikmykid App

pms log in pages

About the Client

Pikmykid is the leading safety and dismissal platform that empowers schools to simplify dismissal, engage parents, and keep students safe without the need to purchase, install, or support additional hardware.

The Pikmykid app was created after seeing how many schools in the United States struggle with dismissal processes, causing endless chaos and frustration. More recently, major safety vulnerabilities also needed to be addressed. Since its launch, Pikmykid has grown to offer every school a comprehensive platform that helps schools transform their daily and emergency operations to be stress-free and ultra-safe. As the world continues to change, Pikmykid endeavours to give staff and parents what they need to make school a safe place to continue learning.

About the Project

Starting in 2021, Haefele was called on to perform a number of tasks for Pikmykid.

The client initially reached out to Haefele to bridge the gap between finding the right dev team in Tampa, Florida, where it is headquartered, with creating code to take Pikmykid to the next level and tackle some of the technical debt accumulated over the years.

The first step was for Haefele to start refactoring the Pikmykid code base in its entirety. Pikmykid had initially started this project themselves but soon realised the scope of work would be too large.

The Haefele team was able to adapt the initial refactor project to be equally effective with only half the effort required by the original style of refactoring the code.

After a few months on the project, the Haefele team started working on implementing new features for end-user value. Haefele was also asked to integrate Pikmykid with the largest and most commonly used Student Information System in the United States.

Three months later, Haefele also built six API integrations for Pikmykid. This allowed student, staff, and parent data to be imported over 300x faster, which helped reduce effort and improve the accuracy of information. It also added credibility, being associated with well-known, trusted companies already used by many schools.

Alongside the software development performed in the context of refactoring, new features, and API integrations, we are also running Automation Testing in parallel with the Pikmykid team’s functional testers to ensure a healthy level of quality assurance.

Challenges & Obstacles
Limited on-site staff PikmyKid required lots of development work but lacked staff located in Tampa, Florida, where the company is based. As such, they reached out to Haefele to bridge the gap and help their dev team.
Ambitious refactor project The biggest issue was dissociating refactor from rewrite. Having a code base in a certain state built by a certain team with the pursuit of refactoring the code to a certain level of quality implies that changes are made to improve code quality. If those changes are upward of 95%, a new team is needed to rewrite the code due to the specific code base in question. Rewriting the code to a high level of quality takes a tremendous amount of time, and finding this balance is key to success. Haefele was called on to adapt the refactor project to be most effective.
Technical debt PikmyKid had accumulated significant technical debt over the years and needed a dedicated team available to work on development tasks. The initial goal was to refactor the code and get rid of technical debt.
New features and API integrations The team needed to be agile enough to be able to switch between refactoring and working on new features and API integrations with ease.
Results
Haefele created a mechanism that allows Pikmykid to import student data from external providers in a standardised manner. In the past, each integration had its own process, persistence, etc., and it took roughly two months to develop a single integration. We abstracted the provider implementation away from the overall process, allowing us to roll out the same integration in less than two weeks. Haefele have integrated Pikmykid with the sixth provider, among them the largest provider in the world. The data is also imported faster than it did prior to our engagement.
It is now possible to import any school/provider at any point throughout the day by parameterising the import process. This is something that was not possible in the past.
By utilising Google mapping API, Haefele created the ability for Pikmykid to create geofences for schools with the assistance of the mobile development team. This allows a lot of the teacher involvement during the end-of-day dismissal process to be automated.
Haefele created a CI pipeline that allowed the PR process, server builds, and test suites to be located in one place. It also assists in catching bugs earlier than ever before. What was once just a developer machine and Live environment, we now have QA, UAT and Live.
Haefele also automated database changes, which resulted in DB migrations with rollback and version control. Additionally, we also started splitting code into a cleaner, more manageable architecture. As such, there is now an onion architecture, dependency injection, unit tests, slim controller and vertical slices for functionality. This is an ongoing process, with more of the Pikmykid development team writing more code using this format than ever before.
Technologies used
Infrastructure AWS, GitHub, Redis Cache, Azure Cognitive Services
Framework .Net Framework 4.8, .Net Standard 2.0
Application C#, ASP.Net MVC, Web API, Windows-based Console Apps, AngularJS, SignalR, Typescript, Node.js
Database SQL Server
Logging New Relic
Timeline
Timelines of features that benefited the school/parents and Pikmykid as the end user

30 September 21 – 10 February 22

SIS Facts

25 November 21 – 30 January 22

SIS Central Access

25 November 21 – 7 February 22

SIS Skyward

25 November 21 – 3 March 22

SIS Powerschool

13 December 21 -7 May 22

Image-Based Delegations

11 January 22 – 17 March 22

School Calendar

11 February 22 – 7 May 22

SIS Onersoter

22 February 22 – 7 May 22

Scheduled Early Dismissal

10 March 22 – 30 July 22

Automating the Car Line

24 May 22 – 30 July 22

Emergency Reunification

25 May 22 – 30 July 2022

Emergency Contacts

8 June 22 – 30 July 2022

New year Enrolment

25 November 22 – In progress

SIS Blackbaud

Team

The team consists of developers, QAs and BAs.

• 1 Technical Practice Lead
• 2 Backend developers
• 1 Practice Lead QA
• 1 Junior QA
• 1 Junior BA

Cape Town

3rd Floor,
Willowbridge Place,
Tygervalley, Cape Town 

7530
+27 21 595 3100

London

3rd Floor
86-90 Paul Street
London
EC2A 4NE
+44 (0) 20 7459 4030