I managed the team (which was usually just me and one or two other developers as needed) and worked with the Project Manager and design agency to build new features and perform ongoing maintenance. This site was due for a big redesign, but then a massive hurricane struck Texas and swamped all the plastic plants. My friend was working at a plant at the time, and he had a about a month where he was trying to drain his apartment and his work shut down. After that, our budget had to go to materials. I’m glad (no pun intended) that they were looking out for consumers instead of making a new fancy site. However we did get to do some cool projects before all that happened.

Teachable Trash Article System


A reusable templating engine using ACF and Twig on the backend.

Working with the design firm to create a collection of reusable and consistent modules for the teachable trash page was a great experience. Since the firm was used to print design, I clearly laid out the differences between print and web by taking a page from AirBnB and their concept of modules. We were able to create a design language that enabled content editors to create new articles without any coding. This was before Gutenberg blocks, so I used ACF to make a selection of elements that could be added to a page template.

Filters, SEO, and Usability


The main landing page was created using jQuery for the sorting functions. But since email campaigns were going to point users to specific articles and filters, I made sure to include a way to link directly to each filter.

I also ensured usability edge cases were discovered before development started. For example, the design had no selected state for the buttons, and there was no way to clear filters.

What I learned

  • I learned how to communicate the nature of mobile and flexible design to print designers.
  • How to paraphrase the box model to designers who would hand off a mockup where everything was aligned by sight, the images were inconsistent sizes and the margins and padding were all over the place.
  • Accessibility is not something I had control over, but I did what I could inside the code. The brand colors are not great for providing contrast and I’m pleased to see that there have been improvements to the site overall in terms of accessibility standards since I last worked on it.
  • The site was migrated from another CMS and the database was in a terrible state when I got assigned as the tech lead. The WP-CLI commands I wrote to try to normalize the data, and determine what records were not being used really deepened my understanding of SQL and how WordPress manages post attachments/media.