Opichi Case Study: Custom-Built Enrollment Software for Growing School District
Challenge
A small school district was frustrated with their legacy enrollment software. There were several limitations that pressed the administration’s buttons. Parents had to reenter student type and grade every time they enrolled. Class browsing was limited to a day and time view for all student types with no search or subject filtering which generated a stream of support emails. It did not accommodate their virtual learning students, who were prohibited from accessing class waitlists due to an unresolved bug. For the admin side, data exports didn’t include cost fields, which forced hours of manual spreadsheet work for PO processing. During peak enrollment seasons, the platform routinely crashed under a load of 1,500+ users. It felt like the district was constantly working around an expensive broken software, and they were ready to be done with it.
Solution
It was critical the school district partnered with a software company that truly understood the workings of both educational requirements and software. The district was small, but thanks to school-of-choice opt-in, it was growing. They needed growth projection consultation services in addition to software development services. They partnered with Opichi to use our expertise to their specific district needs. Opichi brought the technical know-how, but we also created a team of volunteer stakeholders including admins, teachers, and parents to test the software development process at the end of every two week sprint. This ensured the platform wasn’t only idealistic, but usable and provided a better output than the manual systems they had cobbled together. This kept the development process focused, on scope, and generated excitement by the volunteer users as they engaged with the deliverables regularly, delivered immediate feedback, and were wowed by what was finally feasible.
By the end of our 4 month project, Opichi delivered the Minimum Viable Product (MVP), a purpose-built enrollment platform with:
Persistent student profiles — grade, student type (PLA/VLA), and advisor saved to the account and auto-applied to every enrollment
E-commerce-style class browsing — search, filter by day, time, subject, and category with automatic PLA/VLA and grade pre-filtering
Smart conflict detection — shows why a class isn’t available (time conflict, grade ban, student type) instead of hiding it
One-click waitlist from any class listing with automated 24-hour offer notifications, accept/decline, and cascade to the next student
Swap requests — parents can request a class change, routed to admin before processing
Configurable class metadata — cost in instructional funds (IF), tags, categories, capacity limits, and custom fields
Automated email engine — enrollment confirmations, welcome emails, enrollment reminders, and targeted communications with open/delivery tracking
Fast, indexed data exports with customizable column layouts for PO processing and OPS import
Scalable infrastructure on dedicated servers with horizontal scaling for peak enrollment periods
Results
Thanks to frequent communication and testing with the stakeholder teams, Opichi presented a functional MVP by June. The MVP provided improved workflows for multiple users and situations:
Parent Enrollment Flow
Parent creates an account and adds their students with grade, student type (PLA/VLA), teacher, student ID, and email
Parent selects a student to enroll — the system auto-filters classes to show only what’s available for that student’s grade and program
Parent browses classes using search and filters (day, time, subject, category) and adds classes to their cart
If a class is full, parent can click “Join Waitlist” directly from the listing and optionally mark it as a priority
If a class conflicts with an existing enrollment, the system shows the conflict and offers a swap request option
At checkout, parent reviews their cart, accepts terms and conditions, and confirms enrollment
Parent receives an enrollment confirmation email with class details and agreed terms
Five days before the first class, parent and student receive a welcome email with instructions
Admin Processing Flow
Admin creates classes with all metadata: dates, times, capacity, cost in IF, grade bands, PLA/VLA designation, tags, and teacher
As parents enroll, an admin processes adds, drops, and waitlist movements from the admin dashboard
New enrollments are pulled using date-range filters and marked as processed — no duplicates, no re-scanning the full database
Exports are generated in the exact column layout needed for PO processing and OPS import, including cost in IF
Export is shared with teachers via the existing Google Sheets approval workflow
Admin can change a student’s teacher, process swap requests, and manage waitlist priorities at any time
Waitlist Automation Flow
When a spot opens in a full class, the system emails the next student on the waitlist (parent email + student email)
The family has 24 hours to accept or decline
If they accept, the student is enrolled and the waitlist updates
If they decline, the offer immediately cascades to the next person in line
If 24 hours pass with no response, the offer auto-cascades to the next person
If a second spot opens while the first offer is still pending, the system queues it — no duplicate notifications to the same family
The MVP provided more functionality and user satisfaction than their brand name enrollment platform while costing the district a fraction of their contract. The district was ready to implement the platform for the following school year. The district allowed their contract to expire that summer and instead invested in another phase to further optimize their own software. New enhancements included class pathways/sequences (for beginner to advanced), full CRM integration, and geo-targeting for in-person event invitations, just to name a few.
If your district is looking to optimize your technology dollars and create a better user experience for your staff and parents, we’re the software development company that can help. Book a call to discuss the unresolved issues you’re dealing with, what bottlenecks frustrate your administrative and support teams, and learn how you can build your very own software solution.