UMenusoriginally growing out of Yale Menus, is the #1 student-made app for viewing university dining hall menus. Originally created to replace the underwhelming official Yale Dining app, and totally rebuilt in 2020, UMenus is a clean, simple, student-driven service that helps students get the dining hall and buttery menus they need when they need them. Includes numerous special features such as flagging problematic allergens, notifying you when your favorite menu items are served, and allowing students to rate and review foods. 5,500+ monthly active users (including over 80% of Yale students).
Ripplify is a sophisticated data visualization platform that enables users to examine their Spotify music listening history through beautiful stream graphs. The app allows users to see the entire story of their music taste's evolution over time, and to reflect on how their tastes and engagements with music have shifted during their lives through a beautiful portrait of how their life has intertwined with their favorite artists. This project was built for my Senior Thesis Project at Yale to complete my BS in Computer Science. The completed website implementation can be found at
ripplify.io.
Yalies is a redesigned version of Yale's official Face Book, which provides contact information for Yale students. It displays data from the Face Book, Yale Directory, and various department directories, but through a more modern, better designed, and more secure interface. Unlike official Yale sources, Yalies is accessible only to undergraduates, and censors private details (street addresses, room numbers, and phone numbers) that I believe Yale should not divulge.
Yalies also provides an API for student developers. The API powers numerous student projects and university services, including CourseTable, Yale Research Database (RDB), Yale Daily News, Yalies.me, MailYale, Comethru, YPost, yale CLI, Ship, student projects in S&DS 315 and CPSC 490, and more.
MeBots is a powerful toolkit for building, sharing, and using GroupMe chat bots with ease. It provides a public list of bots that anyone can install in their own chats, and a developer platform for making your bots scalable. MeBots modernizes GroupMe's bot system and adds new features, such as a user interface for adding bots to groups, automatic storage of basic bot information, and more! The service currently hosts over 700 bots, with more being created every day.
The MeBots API makes bot development way easier by managing authenticating tokens for unlimited bot instances, which allows bots to operate across many groups, which GroupMe normally doesn't support. It's ideal for simplifying maintenance of bots at many scales, as well as for promoting them through the Bot Shop.
While building and promoting the MeBots platform, I've created a number of bots of my own: Yalebot, Bot Against Humanity, TicTacToeBot, TeX bot, Memebot, xkcdbot, NASAbot, cleverbot, @everyone, Mealbot, GlobalistBot, eightball, and more.
During my senior year of high school, I created an interactive map of my class' college/postsecondary destinations and intended fields of study. Over 70% of my class submitted their plans, inspiring the school administration to officially endorse the project and promote it to the community. I continue to oversee the project, which is updated each year by younger students in the Advanced Programming Club.
Newlogy is a browser extension that enhances the Schoology Learning Management System interface. It cleans up graphical styling, hides unnecessary user interface elements, and adding new useful features by injecting CSS and JavaScript code into Schoology pages. Within a week after I released the extension, it was installed by over 40% of students at my high school, leading Schoology itself to offer me an internship.
During my senior year on my FIRST Robotics team, I joined our robot drive team in the position of Drive Coach, with responsibility to keep track of the field and our objectives during each match to help the drivers plan their next move.
I found it unnecessarily challenging to keep track of time during matches. Having recently purchased a Pebble watch, I decided to build a watch app to keep track of game timing and send the user configurable vibration alerts when certain driver actions need to be taken. Because Pebble as a company shut down in 2016, I sideloaded open source software from Rebble in order to bring new life to a $20 watch.
As a senior in high school, I spent a large amount of time logging into PowerSchool to obsessively check my grades. Wishing to streamline this process, I developed a beautiful command line tool for querying grades from PowerSchool. I built a number of configurable features such as displaying attendance information, color-coding grades, securely storing authentication details, and more.
FRC Dashboard is a fully customizable dashboard for FIRST Robotics Competition (FRC) based on web languages. After working on my team's web-based 2016 driving dashboard, I decided to rewrite the core codebase from the ground up to improve its cleanliness and allow it to be extended and used by other teams. I further migrated the platform to an Electron-based GUI rather than depending on a web browser, to further clean up the platform. FRC Dashboard was extended and used in competition by over 100 teams during the 2017 and 2018 seasons.
FIRSTMap is an interactive online map of FIRST Robotics teams and events. It uses The Blue Alliance APIand the Google Maps Geocoding API to obtain locations and logos. It includes helpful features like search/filtering support and keyboard shortcuts.
FRC New Tab is a custom new tab page extension for Chrome and Firefox which displays information about a random FIRST Robotics Competition team along with a picture of their most recent robot. It also supports showing the team whose number is represented by the current time. 300+ active users as of 2019.
During FIRST Robotics competitions, teams must constantly observe every other team's performance (or "scout") in order to judge whom to choose for alliance selection. VictiScout is an easily customizable Electron app that enables my team to collect data with ease and flexibility, and to easily combine multiple scouts' datasets into a summary spreadsheet to be used by team leadership to make alliance decisions. Because of the general lack of WiFi at competition facilities and FIRST's strict rules against self-hosting networks, VictiScout uses Bluetooth to exchange JSON-formatted data with other clients.
It is possible that you will encounter error messages during registration. The table below describes what each error message means and what do if you see it. If you come across an error message that is not listed here, contact
regi...@yale.edu.
3a8082e126