2017 in Review

2017 was an interesting year. Personally and professionally, I found it to be a successful year of growth. Reflecting on this year’s US/global news, my thoughts on 2017 are conflicted. We’ve seen the growth of troubling trends that will likely continue in 2018, and a significant amount of “bad” happened this year. From my own perspective, there were certainly setbacks and some periods of intense stress (thanks, college). I don’t wish to whitewash legitimate (and pressing) concerns, but I wanted to take a moment to reflect on my year with an intentionally positive spin.

Looking back on some milestones/accomplishments, this year I…


2017 was a fairly successful year in terms of projects. Most of my larger projects this year were “products” (as opposed to libraries / developer tools), which had been a goal of mine for the year.

In 2018, I hope to diversify my projects a bit more. My tried-and-true AWS Lambda / React combo is starting to feel a bit stale. I’m hoping to dive into some lower-level distributed systems projects in the New Year. I’m also hoping (as always) to do more work on “established” Open Source projects, as I didn’t get as many contributions in this year as I’d wanted.

Here were my major projects for the year:

git-trophy: This was myf side project for the “second half” of the summer. Essentially, I wanted to 3D print my Github contributions chart, so I wrote a site using React and AWS Lambda to generate model files which can be printed using a service like Shapeways. I wrote up more about the project here. This project spawned a couple package spinoffs:

GDQStatus (January, July): This was another successful year for GDQStatus. For January’s AGDQ, I moved the site hosting to AWS Lambda, which involved rewriting most of the app’s backend code. For the summer’s SGDQ, I rewrote most of the frontend codebase to use React. Both rewrites were were quite successful, and allowed me to do more cool visualizations. I don’t think I’ll be putting a huge amount of work into this project going forward, so I hope that this year’s development puts GDQStatus in a place so that it can “coast” for a bit.

groot: At the start of 2017, I devoted a lot of time to helping with the ACM@UIUC “Groot” project. This involved a complete rewrite of our internal website/infrastructure, and we transitioned to a microservices model. I did a lot of work on Dockerizing our services, and getting them deployed with docker-compose. I also did some work on our internal credits service, meme board, and in-office Raspberry-Pi-powered display.

travis-build-repeat: This project came out of the need to periodically repeat TravisCI jobs to detect if builds break over time. I wrote travis-build-repeat on top of Zappa, and it worked quite well – jobs could be triggered at customizable intervals. However, around the time I was working on this project, TravisCI introduced CRON builds into public beta, which made this project mostly obsolete. So it goes… 😅 (I’m quite glad TravisCI added first-party support for repeated builds!)

git-haiku-bot / trek-limerick-bot: During Spring break, I had a bit of time to kill and threw together these Twitter bots. I’m quite happy with how they turned out! Still makes me happy to see them pop-up in my feed occasionally.

CS199: Applied Cloud Computing: The university course I’ve helped develop over the past couple semesters continues to do well! We’re transitioning the course to AWS (previously it was self-hosted, and later on GCP), and we’re expanding for the Spring 2018 semester. We’re anticipating somewhere in the range of 3-4x the number of students we’ve had previously, so I’m sure it’ll be a busy semester.


This year, I made more of a concerted effort to read books. I set a (fairly conservative) goal of 12 books, and ended up reading 13. I think it was a worthwhile exercise, and a goal that I’ll reset for 2018.

Here were my favorite reads of the year:

By The Numbers

Since I’m somewhat of a “Quantified Self”-er, here’s some stats from this year. In 2017, I…

Looking Forward

I find New Year’s Resolutions to be a rather ineffective way to coerce myself into doing new things. However, year boundaries do offer a good marker in time to set transitions in motion. It’s a useful time to reflect, from first-principles, on the practices and policies we keep. I’ve thought a lot recently about how I organize my life: my relationships with friends/family/peers, my information diet (social media & otherwise), productivity tools, and what I try to “get out of” college, work, and my side projects.

The New Year holds a lot of promise! After making it through the (somewhat grueling) Fall 2017 “interview season”, I have some really exciting internships lined up for this year (more on that later 😉). I’m also looking forward to going back to school in the New Year, despite the cold Illinois winter – I’ve planned my semester to contain application-oriented courses, which will be a nice transition to the mostly theoretical courses I took this semester.

In broad stokes, for 2018 I’m hoping to…

Here’s to 2️⃣0️⃣1️⃣8️⃣❗ 🥂🎉