home...

Coding

The DAInfo App (Project Info)

The Inspiration

I attend Deerfield Academy, a boarding school in Massachusetts. We have an internal web application called DAInfo (it was developed in-house). DAInfo has the following features:

The web app is ugly, unresponsive, inaccessible, and has an unintuitive interface. The search function does not work on Android, and it is sometimes difficult even to perform basic lookup functions. As a new sophomore, I proposed to the Computer Science club to build a mobile app for DAInfo, but they dismissed the idea as being unrealistic and impractical.

I reverse engineered the login APIs and cookie authentication format and wrote code to scrape basic information. A friend became interested, so we started collaborating through GitHub. Over winter break, winter term, spring break, and most of spring term, we built up a fully functional app. We scraped the independent Dining Hall Menu and Student Bulletin too. We also added search and filter functionality that did not exist on DAInfo, but was possible using some internal DAInfo APIs and other information scraped from DAInfo pages.

DAInfo Web Application. Note: Links are email mailto links, not links to the faculty member’s profile.

Initial Progress

Finished Application

Face Detection

As a live demonstration intended to gain interest for the Computer Science Club at our Annual Club Fair, I developed a simple Python OpenCV face-recognition script trained on image data downloaded from DAInfo, that would automatically add recognized students’ emails to an email list with the click of a button. The script worked surprisingly well, notwithstanding the limited training data of one image per student. Due to concerns with the privacy of the students whose images were used to train the model, I was unable to use this program at the Club Fair.

I therefore developed an alternative web application where students could search up their name and click “Join Club” to join the club. It used data from DAInfo. This program was very successful, and students enjoyed the convenience in comparison to the conventional method of using a spreadsheet to collect email addresses. Other clubs, alliances, and student organizations adopted it, and the web app has been in use for two years now.

Vulnerabilities

In my work reverse engineering and debugging the DAInfo APIs, I discovered a few security vulnerabilities:

Collaboration with ITS

We presented our work to the Head of ITS, who mentioned an unwritten student app development policy that “prohibited all student developed apps”. Due to our impressive work with the app, however, they modified the policy to allow the publishing of apps that have been approved by ITS. They did not want any personally identifiable data going through the app, however, so they suggested an app that displayed Dining Hall Menu, Athletic Schedules, Student Bulletin Posts, etc. Due to other commitments, our work on this new app never reached completion.

As for the security vulnerabilities I found, ITS mentioned a cybersecurity firm employed by Deerfield to conduct audits that did not find everything that I found. They were grateful for my help and patched the more severe vulnerabilities.

Work on the new app proposed by ITS

Accessing Code

Although the code currently does not contain any student/faculty PID, some previous versions did. Moreover, the code exposes information sensitive to Deerfield Academy, and so I cannot make the GitHub repository public. If you would like access to the code, please contact me at zsubhash26@deerfield.edu or zohan.subhash@gmail.com.

Fork of the face recognition code with training images removed: https://github.com/project-info/face-public

Current Roadmap

Other Coding Projects

Population Simulation

ZoAuth

Demo live here!

C29

OBS Voicemeeter Integration

Batch File Bot

Discord Status Notification

Open Source Work

© 2026 Zohan Subhash   •  Powered by Soopr   •  Theme  Moonwalk