Project: Pagependium


In 2024, I led an organization-wide initiative to transition our school district from paper-packet-based enrollment to web-based digital enrollment. To make this happen, we purchased a SaaS solution that was a direct add-on for our existing student information system. Despite being the best solution at the time, once we made it to the adoption phase, we discovered that the process for exporting and printing off these new electronic forms was prohibitively time consuming. Each form had to be individually loaded and printed off. We were faced with needing to print off approximately twenty forms for thousands of students.

In an effort to help, the company we purchased the SaaS enrollment solution from granted us beta access to a printing feature they were working on that supported batch prints. Still, this beta printing feature wasn’t as robust as we had hoped. There were quirks with how the information was formatted on each page, the bulk prints weren’t grouped in an ideal manner, and file attachments that were uploaded with each form submission weren’t included.

Given the circumstances, I decided to attempt to fix the problem myself. I spent 12 hours on a Saturday prototyping a solution. I made a small Python app that leverages Selenium and PyPDF2 to extract all form files as PDF documents and then merges them into individual packets by student. I was overjoyed when I got it up and running properly. My collegues were thoroughly impressed. Over the last year, I’ve added several improvements, including multi-threading, to the point where this app can cleanly extract 40,000 forms in only a few days. To date, this is one of the most useful things I’ve made.

- James