GVSU Destination Report

I just finished up a bit of a fun site at work: https://www.gvsu.edu/destination. It’s the first time GVSU has built a dedicated web version of this report. Since a lot of the work I have been doing lately has been heavily into back-end application development, it was nice to get a break and make something where I could focus more on the design.

I also got to create an interactive React component to look up major-specific data about degrees. This was cool both because it makes it easier for students and potential students to see what they can do with a degree, and I also got to use Victory Charts, a React graphing library I had been wanting to play with. It turned out pretty nice, easy to use and make accessible:

Animated image showing react component displaying major specific data
React is really great for interactions like this

It proved a little tricky to integrate into the rest of the site. Mostly because I set it up using create-react-app and really didn’t want to eject it out of that. I ended up creating it as a sort of sub-project whose base HTML file then gets included in the larger project via the back end language. It worked really well, I would definitely use this method if you come across a similar situation.

I’m famous!

Well, maybe that’s a stretch, but I was listed as one of the contributors to WordPress 5.0 in the official release post. It has been really fun to be able to contribute to Gutenberg lately. Even though I only made one or two small contributions, it’s exciting thinking about the sheer number of people who will be using the code I wrote. It’s also fun to think about the fact that 450+ other people worked together to make it happen. Most of them probably just like me, contributing purely because they are able to.

Hopefully, I can keep setting aside some time to work on it. Both because it’s fun and because it’s really helped me learn a lot. I think one thing that people don’t talk about enough when discussing open source is how much it helps you grow as a developer. I’ve learned a lot of things I wouldn’t have in my normal day-to-day work, most of which has helped me get better at my real job.

Gray Harmonizer


I just finished up creating a little tool to help with a design task I find tedious. Being more of a developer than a designer, choosing color schemes can be a little challenging sometimes. One technique I’ve found really helpful is “harmonizing the grays”. Basically, once you have your colors, you filter the gray values with your primary or secondary color so they are “tinted” slightly. I’m not sure if she created it, but I first heard about it from Erica Schoonmaker.

What’s not great, is having to use Photoshop or some other design software to do it. So I made it a website! It was a perfect use case for React, and the test suite in create-react-app made it easy to make sure my color conversions were correct.


I have been blogging about tea at teageek.org for several years. I guess more accurately, I blogged about tea for several years there several years ago. I’ve been wanting to bring it back and decided to use it as a test case for creating a new WordPress theme from scratch, which I haven’t done in a while.  I also decided it was time to get with the hip kids and give it a cool new url, so it’s not located at teageek.blog.

I’ll be writing there about tea a couple times a week if you are interested, mostly tea reviews and some things I’ve learned over the years drinking entirely too much tea.

If you are interested in the theme, you can find it here, although fair warning, it’s not quite ready for widescale use.

Grand Valley Magazine

I recently finished up a fun project at work and thought I would share it, you can see it live now at https://www.gvsu.edu/gvmagazine. GVMagazine is the quarterly magazine that gets sent out from the university to keep alumni up to speed on what’s happening around campus,

It was fun for a few reasons: 

Designers are awesome

I was working off of design specifications from some of our very talented graphic designers. Most of my projects tend to lean heavily on the CSS framework we built into our CMS, as opposed to totally custom design. Not that there is anything wrong with that, but it is fun to work with something new that is so well thought out. I used the foundation framework for some of the basics, but most of the design is custom. I am an adequate designer when I need to be, but they are on another level and I think that is shows in the end product. There also is now a really great continuity from the print piece to the online version that wasn’t there before.

React for the win

The public design was fun to implement, but the really fun part of this was creating the custom admin/CMS. I was developing this project solo so I got a little more leeway and decided to use react for the content editor. It was the biggest project I’d used it for so far, so I got to learn a bit and the end result was great. It was a little complicated because the design called for a lot of features in the articles: images, video embeds, pull quotes in multiple styles, and “featurettes” throughout the page. In the end, the users creating content have loved it and it really gave me a lot of flexibility.  I was able to use the same styles for the admin and the public side so that it truly became a WYSIWYG editor, something I have been chasing for a while. It was a little tricky tying into the back-end system that we use, but it ended up not being as I thought it was going to be.