Some work examples


Northwest Adoption Exchange and In-Depth Profiles

“Northwest Adoption Exchange connects youth in foster care with families who can provide them with permanency—adoption, guardianship, or kinship care.”

The problem: The NWAE team realized their previous website wasn’t capable of hosting the kind of rich profiles they thought would best serve the foster children they were trying to help. They were hoping to be able to create more in-depth profiles with more media and an overall more engaging experience for readers. They also knew they weren’t quite ready to rebuild their entire website.

The solution: I proposed we use a simple blogging platform to create a micro-site that would be exclusively for creating and hosting the rich and more polished profiles they had in mind. By hosting it on a subdomain, we could keep the existing website intact while still providing a more engaging experience for readers. It was relatively quick to build, affordable to host, and easy to maintain.

The result: This was essentially a pilot project that allowed them to test their hypotheses around child profile content. Once the results were in, they saw a 200% increase in adoption inquiries. This lead to further investment in in-depth profiles, more website redevelopment, and ultimately, more foster children finding permanency. You can read more about the project here and check out in-depth profiles, now fully integrated into their main site.


Montana State Golf Association and Tournament Management

“The Montana State Golf Association is a non-profit organization dedicated to serving the game of golf in Montana.”

The problem: The MSGA team was using a combination of spreadsheets, email, and Word docs to manage their tournaments. They were hoping to find a something that would make tournament management easier for staff and sign-ups easier for players. They also knew they weren’t quite ready to rebuild their entire website.

The solution: I proposed we use a Google Form to manage tournament submissions and a simple Jekyll site to display all tournaments by category. This solution would also allow for dedicated pages for each tournament and host venue. These pages could include more information about the tournament, how to sign up, and how to get there. To further ease the burden on staff, I created an API integration that would automatically generate the tournament listings from the Google Form submissions. This greatly reduced data entry and made it easier to get new tournaments listed quickly.

The result: In the first week of using this dedicated tournament site, in addition to highly positive feedback from members, they saw a official tournament sign-ups surpass expectations by 40%. You can check out the tournament site here.


Anonymous Corporate Client and Their Internal Tools

NDAs prevent me from sharing the name of this client, but I still want to share some details on what we worked on.

Caution: this gets technical.

The problem: In collaboration with a team of developers, I helped build an internal tool for this corporate client to create and manage image assets. One particular problem was the file size of rendered images. We needed a way to compress images with minimal loss of quality.

The solution: We used the sharp NodeJS library inside an AWS Lambda to compress images post-rendering. The Lambda function was designed to work much like a binary search tree by starting with a high compression ratio and decreasing it until the image quality was acceptable. Over time this function was improved to handle multiple file types, different compression ratios, and image resizing.

The result: It worked! (Sometimes, and with corporate clients it’s more like oftentimes, results are more binary. Did you solve the problem? Yes or no.)


MATTER Health and Their Community

“MATTER is a global healthcare startup incubator, community nexus and corporate innovation accelerator headquartered in Chicago.”

The problem: MATTER was looking for a way to include an accurate and up-to-date list of their community members and partners on their website. That information already existed in Salesforce, but their website being entirely separate, they needed a way to connect the two without a full website rebuild.

The solution: I proposed we use Google’s Firebase platform to create a simple API that would pull the data from Salesforce and make it available to their website. This way, they could keep their website as is and still have the most up-to-date information about their community members and partners. A simple NodeJS script would run on a schedule to update the Firebase database with the latest information from Salesforce. On their website, with the help of Firebase’s JavaScript SDK we would pull the data from Firebase and display it.

The result: For the past 7 years, MATTER’s website has been able to display the most up-to-date information about their community members and partners without any manual intervention. This has saved them countless hours of manual data entry and has allowed them to focus on building their community. You can check out the community page here.