FBShipIt is a tool developed by Facebook for copying commits between different repos (see the README for more) One of the things I do on the Open Source Tools team at Facebook is work on FBShipIt. Mostly that means bug fixes and maintenance but occasionally I work on new features and enhancements.
2019FBShipIt Upgrades for Facebook
See above for a summary of what FBShipIt is. During my second internship at Facebook my job was to completely redesign the configuration system used internally to manage the configuration of over 100 projects that use FBShipIt at Facebook. The old system required an unpredictable amount of time (4-48 hours) to update a FBShipIt config. The system I put in place, and then migrated all projects to, allows config changes to be instant. I also upgraded the codebase to use modern Hack Standard Library types and made some other minor changes since then.
2019Aggie Map for TAMU GeoInnovation Center
The map assists students in finding buildings on campus and walking, biking, driving, or bus directions. I joined the project as a paid Student Technician working on trip planning enhancements and code cleanup. The frontend is written in TypeScript and Angular (the new one) using the ESRI ArcGIS API. There is no backend, the frontend is deployed as static files on a Microsoft IIS server. We also utilize a ArcGIS map and route server maintained by another department within Texas A&M University.
2018Batch Migrator for Facebook
This tool assists users migrate events in batches from an old internal tool to a newer, scalable internal tool. Approximately 12,000 events will be migrated using the tool, which automatically clusters events based on similarity. The backend is written in Hack (PHP) and using proprietary internal tools written at Facebook. The frontend is written in Flow using the React framework and internal Facebook tools.
2017-2019Aggie Go Apps
During the summer between my sophomore and junior years I got an idea to design an app to help students use the Aggie Spirit bus system at Texas A&M University. By scraping information from the bus system website and API, I was able to design an app that could notify students about routes and stops that they're interested in. The app is no longer available, but it was available for iOS devices (written in Swift) and for Android devices (written in Java) The backend used Python and a REST API interface through Django to communicate with the app.
2017Radio Alarm System for Union Pacific Railroad
This system scans and collects status of a series of custom-built automated radio repeaters. It provides mechanisms for automatically reporting alarm states and for visualizing the status of the system The backend is written as a RESTful interface running on a Java Servlet running on Apache Tomcat The frontend is written in AngularJS, TypeScript, and HTML/CSS.
2015-2019GroupMe Group Administration Utilities
This provides a series of tools built on top of the GroupMe Developer API. It allows groups to be managed through a bot command interface. Additionally, there is a web interface that provides an alternate interface to manage groups. Written in Python using the Django framework and using PostgreSQL as a data store. For interaction with the GroupMe API I developed an open source Python library called lowerpines
Besides the content you see here, there is also other services that I run for my own personal use. The main system that is only available to me is a personal inventory system primarily designed to track my books. Designed and written in Python using the Django framework, PostgreSQL, and Nginx. Currently hosted through Linode on a Debian 10 instance.
High School 2011-2015
2014-2015Web-Based Inventory System
This project was designed for Oakmont High School's Media Department. This is used to check out and check in our extensive movie collection and media equipment (such as cameras and tripods). Written in Python and HTML/CSS/JS using the Django framework, SQLite, and the Apache web server. With companion Android app that uses custom built API to access the database
2014-2015Line Management Software
This project was designed for Oakmont High School's freshmen registration process. It provides similar functionality to the system in place at many DMV locations that allows people to be issued a ticket. They can then be seated to wait until their ticket is called. Written in Python and HTML/CSS/JS using the Django framework, SQLite, and the Apache web server.
2014-2015Oakmont High School App for iOS
This allows students to check their grades, read at school news, get a map of campus, and view the school calendar. Written in Objective-C using the iOS SDK. The code for this project is open source.
2014-2015Oakmont High School App for Android
This allows students to check their grades, read at school news, get a map of campus, and view the school calendar. Written in Java using the Android SDK. The code for this project is open source.
2014Oakmont’s Website Upgrade
I assisted in the upgrade of Oakmont’s website to a new theme and to a new server. This included updating HTML/CSS/JS as content was added to the new theme along with moving files over to the new server.
Middle School 2009-2011
2009-2020Marks Handyman Service Website
(view website) Initial design using Apple’s (obsolete) iWeb WYSIWYG web development tool. Rewritten using PHP to allow the business to edit (some) content themselves and simplification of source code. Most recent rewrite using Python (using the Django framework) and SQLite to allow more freedoms in content editing by the business. Currently hosted through Linode on a Debian 9 instance.