University Budgeting Improved
Buzzard is a platform to help democratize and improve transparency in university budgeting efforts. Basically, the premise is that there’s a central authority “approving” line items for a bunch of different organizations’ budgets and this app would help facilitate communication and record-keeping. Spoiler alert: this application was approved by our student government to be used (which was exciting as hell at the time) but the university was wary of legal issues (which I wasn’t ready to argue) and opted for the archaic, inefficient method of using Excel spreadsheets. At least I learned something, eh? Below (also here for the full issue) is an op-ed from my school’s daily publication displaying a student’s dissatisfaction with university administration (referred to as “Doane” which is the building their offices are in) for making this decision.
Building Buzzard was an incredibly ambitious project—however, it’s gone down as one of my favorite projects to build. What made Buzzard so special was how quickly I built it. I taught myself Laravel and React/Redux all while building the application (you can see this in the quality of code and design decisions from beginning to end), and I had an unreasonably quick turnaround time.
Being completely honest, this project wasn’t the first inception of a university budgeting tool I had had. I had first iterated on this idea my sophomore year of university. This was when I was first learning about relational databases (I know…) and playing with queries. You might even be able to find my atrocious original code somewhere in the depths of GitHub. My second iteration I created the summer between my sophomore and junior year of university. I think that project was the most foundational project I’ve ever done and I learned a lot—the product, however, was less than noteworthy. I was still adamant to get something awesome (and needed) from the project by my senior year, but I never saw the opportunity.
After a trip to Texas with two high school friends during my winter break my senior year of school I returned to the project. I asked our school’s current finance chair some questions and decided to get to work (making no promises because I realized how much work I had for the two weeks until classes started). Wielding two internships’ worth of knowledge and no architectural background, I set out to do the improbable.
I knew I wanted to use this project to teach me how to work with React/Redux so those were early beginning decisions. Further, I was comfortable enough with PHP and Laravel has great documentation/packages, so I used Laravel to build my project. At the beginning of my project I remember thinking I was going to spend a great deal of time worrying about design and not using any CSS framework because that’s for fools. That ambition lasted about four or five days and then I realized how untenable thinking this way about my quick project was.
I spent more than half of each day teaching myself things and writing code. It was exhausting and exhilarating. I learned a ton (both what to do and what not to do) and worked my heart out. I have tons of regrets (mostly technical regrets…like putting way too much logic in controllers) from this project, but I’m glad I did it. The project has since been removed from its servers and the domain was sold off, but Buzzard will forever live on in my heart.
tl;dr learned how to deal with OAuth, JWT, and basic authentication, server management via DigitalOcean, how beautiful Redux can be when working with React, how to (poorly) build an API for internal consumption, how friggin’ tough design and effective copy is