Back to Projects

A platform for Palo Alto High School that collects data from the school calendar, publications, and athletics websites. With custom uptime reporting, error monitoring, and targeted messaging system, the platform is designed to be a one-stop shop for all things Paly.


Links


Summary

The OneShip project is a platform for Palo Alto High School that collects data from the school calendar, publications, and athletics websites. It can be accessed at paly.app, or via the mobile app (which is currently only available on Android as an APK). I built OneShip to visualize my schedule and to keep track of publications (which are spread across several websites).

Features

  • Custom Uptime Reporting: OneShip has a custom uptime reporting system that checks the status of the school calendar, publications, and athletics websites every 5 minutes. If any of the websites are down, the system sends an email to the administrators.
  • Error Monitoring: OneShip has an error monitoring system that checks for errors on the API or any client every 5 minutes. If any errors are found, the system sends an email to the administrators.
  • Targeted Messaging System: OneShip allows administrators to send messages to specific user groups. For example, the administrators can send a message to all students, all 9th and 12th grade students, or all teachers. OneShip also uses a simple heuristic to determine the relevancy of each message (based on its importance, specificity, sender, and recency).

Technologies

OneShip is built with the following technologies:

  • Express.js
  • React
  • Firebase, Firestore, and Firebase Authentication
  • Vercel Serverless Functions
  • React Native (and Expo)
  • Tailwind CSS
  • duct tape

Future Plans

Though the PAUSD is notorious for its lack of transparency, I hope to work with the district to integrate OneShip with the official school calendar, publications, and athletics websites. I also hope to add more features to the platform, and though the list is long, my primary hope is a Schoology integration... but the PAUSD is incredibly difficult to work with. I've written blogs about this!