Things I have been working on lately
In the course of completing projects as a professional, we often neglect to reflect on the work and take stock of all the successes over time. Recognizing that this kind of reflection and information is both valuable for my own growth and for those exploring my body of work, I took some time to write and share personal insights about the work I do. As such, the following is a selection of projects through time that I am proud to share and dissect. Projects are in chronological order of completion, and this is definitely not an exhaustive list.
Click a project thumbnail for full project details and personal reflection.
Ohio University Building Directory
Project Technologies and Category: Drupal, LeafletJS Map
For maybe a decade there existed a helpful but outdated Ohio University website showing every building across the main university campus. The site was rich in information but the photos, the design, and the HTML structure (it was built using HTML tables) were very dated and hurt the user-experience. Suprisingly, this website was one of the 10 most visited areas of the website every year, as students and faculty looked for specific buildings around campus. As such, it was identified to be updated into the 21st Century and improve the usability.
A screenshot of the old website in its outdated glory
The university website is primarily Drupal-based, so to leverage the structured data powers in Drupal I built a new content type for all building data. This would provide a place to move all the existing data for these buildings, but I wanted to go further than just a simple clean-up of old stuff. Knowing how useful an interactive map can be, I asked my content team to insert lat/long coordinates into a field on each building as they populated the data. Using this positional data, I used the open-source LeafletJS library to output all the buildings on a map.
I created an alternate map layout for campus areas. Maps have subtle location pin animations.
This project was very well-received across the university. It was a pleasant surprise to departmental leadership because it was this little "clean-up" project that I decided to take to the next level with spectacular results. One Director told me, "This rivals what we would pay tens of thousands of dollars to a vendor to accomplish!" Though figuring out the intricacies of LeafletJS took some time, the overall effort to get to such a striking result was comparatively low in relation to some of the other Ohio University projects I get assigned.
There is some code refactoring that I definitely want to do with this project, mainly abstracting the mapping component into its own template and library files within Drupal so that content authors can insert maps into their pages. The building listings are all core Drupal Views and the filters for the listings are inserted controls that interact with the underlying View. This works and looks good, but it is not the "Drupal Way™" of building a module for everything so I would like to move everything into View templates to style the filter controls themselves.
Our Cancer Journey Podcast
Project Technologies and Category: WordPress
I meet a lot of interesting people during the Athens WordPress Meetups (I co-organize the group, in fact). One of those people is Bruce Watkins, and when he came to our meetup in November of 2019 to seek help with his personal blog I immediately became interested in his work and helping him succeed. Bruce is a cancer survivor who sold all of his belongings and started travelling the world as a blogging nomad. For several years he crafted personal travel stories and he was publishing them on a WordPress blog, and he found me through seeking assistance with his website.
When he began his podcast in late 2020, I worked directly with him to organize the content and set up a website to promote the show. The primary focus was communicating who Bruce is and what the podcast is about, with a secondary objective of collecting subscribers to his newsletter and on the various podcast publishing platforms. He showed me a couple blog designs and after several working calls of adjusting site elements we got the site to a place where it would serve him.
The website is still a work-in-progress and Bruce asks me to add functionality or alter the theme layout every few months. It was a good experience working with the podcast medium as content, and this was my first exposure to the tools WordPress offers for this purpose. We went with the PowerPress plugin by Blubrry to automatically fetch his show and generate posts. I built some custom Gutenberg blocks (using Advanced Custom Fields) for ease of page building and to achieve certain layout and functionality that Bruce requested. The theme is also built completely from scratch to suit Bruce's needs and keep things clean.
I really learned to value the contributions of a good designer. Nothing against Bruce, who has a very keen sense of design aesthetic and balance, but he only provided the guidlines for the website and not an actual layout with specifications; this meant I had to interpret his guidance, synthesize the "inspiration" websites, and put something together that looks professional. Though I am satisfied with the website, I much prefer focusing on a clean and usable build than the visual and layout details.
Jack Pine Glass Pumpkin Festival
Project Technologies and Category: WordPress, Ecommerce
While working on a new website for the Jack Pine Glass Studio, owner and renowned glass artist Jack Pine approached me with an idea for a new art show and fall festival in the Hocking Hills, Ohio region. Because the festival would have to be in several months from the time of conception and planning, progress on the main website was halted to focus on this promotional opportunity. The festival website would be not only a marketing vehicle but it would facilitate sales of festival tickets.
I built the website in WordPress so we could have the capabilities of the excellent WooCommerce plugin. Though there are many ticketing add-ons and fancy ways to customize WooCommerce, I used the core functionality of the plugin and wrote a few custom scripts to jump straight to the checkout and pull in the product listing ( with real-time inventory ) in a unique way. Instead of starting with a theme and molding it in a child theme to suit the project needs, I lifted the custom theme I was devleoping for the main studio website and updated it for use on the festival website.
A quick scroll-through showing some subtle animations and transitions
Working from a custom design ( and I need to give a shout out to Chris Kennedy on the excellent work he does and the layout for this website! ) I used the Bootstrap grid system for layout and fashioned styles based on a style guide. Chris and I worked collaboratively to get timing down of animations and subtle scroll effects on the desktop website.
I am very proud of the end result from this build. By keeping things simple ( this website uses < 10 plugins, most of which are back-end enhancement things and WooCommerce-related ) and customizing the theme for the specific purposes of the client the result is a fast, clean, results-driving website. The conversion rate on the website was nearly 100% and the festival sold-out within 3 weeks of ticket sales opening. Things went so well with the festival in 2020 that in 2021 we updated the website with new content and used the same system to sell tickets for yet another event.
The WooCommerce API was very straightforward to work with and code samples, documentation, and practical examples are easy to find for most things you want to do. Being familiar with the general flow of WordPress and its storage schema, I felt pretty comfortable in customizing WooCommerce. After the sales ended on the website, I constructed a SQL query to run against the WP database and retrieve customer information; this list was formatted and used by the client for checking-in festival guests and then after the event for building a mailing list.
D.P. Dough Training LMS
Project Technologies and Category: WordPress, LearnDash LMS
One of the IT people for D.P. Dough attended an Athens WordPress Meetup seeking advice on how to construct an LMS. This piqued my interest because I was familiar with LMS systems having been an instructor at Ohio University ( the university uses Blackboard LMS, which is a nightmare ). Not knowing much about the objectives and goals of the site, I started consulting with D.P. Dough and we eventually determined that the LearnDash plugin combined with WordPress Multisite would suit their needs with minimal effort and startup cost.
Using WordPress Multisite configuration, each of the D.P. Dough national franchise locations could have a separate subdomain and separate site ID for isolated data while D.P. Dough IT could centrally manage core WordPress files, plugins, themes, etc. With the use of the NS Cloner plugin, it was possible to clone the "master" site and add a subdomain in a matter of 5 minutes for any franchisee that came on board. I created multiple user roles within the site with various levels of user capabilities and access to which pages were accessible. Store managers, for example, were able to see employee course progress and manage users in their store but they could not alter course content or change any site settings.
Working with LearnDash was a pretty straightforward process and they have a very nice plugin ecosystem. The bulk of my work on this project was in the admin configuration of the website, including user roles, site cloning procedure, and some custom login actions for provisioning. I learned a lot about WordPress Multisite during the project, and I had never previously worked with that functionality. Now I am able to suggest a Multisite setup to clients where necessary and I understand its limitations and architecture.
It was fun to see my work actually being used across the country to train employees in stores. Though I had nothing to do with the content, the courses and course structure, I was able to see first-hand how one might leverage LearnDash to build anything from a corporate internal LMS to an individual MOOC ( Massive Online Open Course ). By the end of the 13 month project, the client was happy, we kept under the budget, and there was a functioning product that would serve as a baseline for further improvement. The LMS was showcased in June 2019 to the D.P. Dough corporate leadership summit with a positive reception.