Orbit - a modular framework for a card-based application

High School

The origins of this project lie in the apps that I made for my high school, way back in 2017-18 - the LG CATS iOS and Android apps. Back then, my goal was simple: to create iOS and Android apps for my high school, with features like a digital Student ID card, daily announcements, club lists, and quick access to our grading portal. Here’s an archived review page that contains screenshots of what the original apps looked like.

Thinking back to then, when I was creating these apps for the first time, I had no idea what backend databases were or how to use them - but I remember searching for a simple way to manage and deliver content remotely. I settled on a combination of Wordpress (e.g. daily announcements) and Google Sheets (for club lists & other resources). Instead of making a database call or hitting an API endpoint, I downloaded & parsed the direct download link to a public Google Sheet containing the data I wanted to use in the app.

At the end of Junior year in high school, I discovered Firebase’s Realtime Database - and it felt like an incredible breakthrough. I didn’t have to worry about someone corrupting the state/formatting of the sheet, since there was now a layer of indirection between my content management system & my database.

(Unfortunately, I also didn’t know what version control was until 12th Grade - so the oldest code I still have in my archives is from the version I rewrote in 12th Grade.)


When I graduated high school, I remember thinking: if I wanted to make an app like this for Berkeley, how hard would it be?

In my freshman year, I joined the Mobile Developers of Berkeley - and with a team of other developers, launched Bear Central (iOS, Android) - a revamped version of the original platform I designed for my high school. We built this by cloning my high school repository, applying search/replace techniques to “Los Gatos High” and “UC Berkeley”, and adding a handful of Berkeley-specific features, like the Safety Toolkit feature. It took us around the course of a semester (Fall 2018) to build this out on iOS and Android.

The following semester, as I was working on tweaking & improving the feature set of Bear Central, I begin abstracting away more and more customization to the backend, mostly for my own sanity (it took me ~4 hours to deploy a build to the App Store, but 5 minutes to update data in Google Sheets/Airtable/Firestore). That same semester, through FreeVentures (an on-campus startup incubator), I explored using the framework I had created as a no-code internal tool for businesses. At this point, migrating from the LG CATS to Bear Central on Orbit would take ~30 minutes, as opposed to one semester - all it took was replacing the data source & adjusting the feature set in the Google Sheet.

In late Spring 2019, I learned about Glide Apps - a young, Y Combinator backed startup that had a nearly identical offering, with the tagline: “Build an app from a Google Sheet in five minutes.” Consequently, I put this project aside & focused on school for a few months.

[Work In Progress]