Pikmykid

Sector Security / School Safety

Project Pikmykid App

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 simplifies dismissal, engages parents and keeps students 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.

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, by 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.

01

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.

02

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.

03

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.

04

New features and API integrations

The team needed to by agile enough to be able to switch between refactoring and working on new features and API integrations with ease.
  • 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 also started the journey of standardised error messages/handling in the system.
  • 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 Lice.
  • 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.

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

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 Enrollment

 

25 November 22 – In progress

SIS Blackbaud

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

View
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website.

These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.

Necessary

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-Necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.