Ruby on Rails / Bootstrap 4 / HTML5 / Heroku
MIT Bootcamps team was scaling up and needed to automate processing of student applications.
Spreadsheets were used to handle admissions process historically and with 1000+ applicants for each new class convolution of the process accumulated exponentially, resulting in occasional loss of application data.
Existing off-the-shelf options were considered did not support voting on decisions, implemented different admissions process and annual cost quoted was as much as a new custom development.
A back-office web application implementing pre-existing student admissions workflow has been created and deployed.
Main screen displays overview of a class, visualising how many students are on each of the application stage currently.
The first column provides summary into the class composition and admissions process status, showing number of applicants and how many have committed to attend. Remaining columns show applications in various stages and overall pipeline: how many reached screening stage, how many went past to interviewing stage and how many admissions decisions were made for the class.
System users also use Today screen to view pending applications that are ready to be actioned.
Admissions system ensures that state transition follow predefined process, using state diagram that has beed defined with the admissions team during analysis.
Application forms filled on the website are sent to the admission system right away using its REST API. The form is editable and permits seeing everything that has been happening with the application in one place: personal data, current status, voting results, interview notes, payments.
Two different voting mechanisms were built to support decision-making at various stages.
Initially, applications are being reviewed by a few members of the team, who vote on whether it should proceed forward based on the application content. The vote is a simple yes/no and the application is allowed to proceed to a next stage — interviewing or rejection — only when a consensus is reached, having at least half of the admissions committee for the class in agreement.
After interview, each applicant scored using one to five scale on a number of criteria, defined for each class. The scoring can be done by any member of the admissions committee and assigned interviewer, and resulting average score can later be used to admit or reject applicant, as well as part of decision-making for scholarship.
The system automatically looks up previous applications by name, email or phone number and cross-references application forms.
By storing all the applications in a database, admissions team were able to track who had applied before in the past. When track was kept using spreadsheets, the team had to rely on memory of the most senior member.
Interviews are assigned to an interviewer, and a rich-text editor is available for interviewers to take their notes. The notes stored for each interviewer individually and made available to the rest of the team.
Users can set up multiple payment tiers for each class. Each payment tier consists of deposit and tuition fee. Applications can be assigned to different payment tiers manually to allow for discounts or different 'packages'.
Each payment made by applicant is entered into the system.
Based on the value paid admitted applicants are automatically progressed to Deposit Paid and Tuition Paid states, allowing for quick reporting on pending payments.
Scholarship candidates are counted separately, with application able to progress through Scholarship Shortlisted state into Scholarship Granted, meaning the applicant has tuition fee waived, or Scholarship Rejected, allowing the applicant to pay normal tuition price or decide not to come.
Admissions System has an option to create an instant mailing list by class and application state. The e-mail can be controlled in granular fashion by selection applicants from the list who will receive the message and enter arbitrary e-mails for sending copies.
Automatic e-mail rules can be set up to send a template once application reaches a certain state — such as being selected for interviewing or rejected.
A wide selection of merge tags is available and all sent e-mails are archived in relevant application form history.
Application offers granular access control, allowing to configure Administrators who are allowed full access and Staff Members who are permitted to access only those classes in which they are members of the admissions committee.
The application has CSV import and export options that were used to import past application data from legacy spreadsheet (to show them in past applications), connect the system to marketing automation tools such as HubSpot or MailChip, and export data for future analysis.