Pearachute Kids
November 2016
October 2017
Software Design

Pearachute Kids is a service that allows parents to drop their kids into various courses and events around their city. It maintains a schedule of available courses for each partner service in the various markets they operate in. It provides a mobile friendly web interface allowing parents to view and book upcoming courses for their kids to attend. It allows families to register their children and subscribe each to a monthly plan with a specified allotment of classes (e.g. 3 classes, 6 classes, unlimited, etc).

When I joined, the team was a small startup, consisting of an in-house business team and an engineering team made up entirely of remote contractors. The original service was developed using an off the shelf Python scheduling framework and later ported over to Ruby on Rails. The original development team was no longer involved in the project and knowledge was spread very thinly across the organization.

I joined the engineering team to provide ongoing full stack development support. As in many startups this environment required the engineering team to respond flexibly to the needs of the business. As a result it was important to maintain clear communication and insight into the areas I was working on, to ensure that as priorities changed I was able to adapt and continue delivering the highest value functionality.

The following are a few of the key initiatives I worked on as part of this engagement:

  • HubSpot Integration Refactor: Refactored the system's integration with HubSpot to ensure contacts were consistently created and updated for all profiled users and newsletter subscribers.

  • ActiveAdmin Enhancements: Added new filters and related functionality to improve the usability of the ActiveAdmin dashboard supporting our internal stakeholders. Identified and corrected a number of performance bottlenecks within this dashboard, greatly improving the efficiency of our support team members.

  • Automated Test Suite: Gradually built up the automated test coverage within the system to document its expected functionality and provide a safety net for proactively catching regression issues.

  • Extra Course Credits: Added support for awarding "extra credits" to users of the platform. Triggered these credits to be awarded based on a prescribed set of business rules. Included support for expiring credits after a specified time frame.

  • Custom Referral Program: Set up a referral program within the platform, building on top of the existing coupon functionality. Each customer was assigned a referral code that had an associated URL for ease of sharing. Set up a dashboard for tracking and award referral bonuses.

  • Internal Accounting Ledger: Set up a fully auditable ledger of all payments received, associating them to the customer and other internal resources to streamline the internal reporting and accounting processes of the team.

  • Partnerchute: Took over responsibility for the existing administrative site that allowed partners to manage their course schedules and record their attendance. Continued to extend and maintain this site to address the needs of the business.

  • Sessions/Camps/etc: Integrated a separate system, that was purchased as part of an acquisition, for managing shorter duration camps, modifying each to maintain a consistent user experience.

  • Additional Attendees: Refactored the core booking logic to allow customers to create a booking for various combinations of participants (e.g multiple children, parent & child, etc), based on the configuration of the selected course.