Skip to main content
Josh pointing to the right.

I am the founder of M6L, a full-stack consultancy. 

What's a "full-stack" consultancy? 

Glad you asked. I coach teams to use continuous integration and agile best practices to build great software, usually websites or web-based applications. In my career, I've been a designer, developer, project manager, and a CTO. I've kinda played all the roles and can help fill gaps in your team.

I build big, complex websites. I'm particularly fond of government websites because they help people get stuff done. I've done a lot of work with Drupal. (I was even the CTO of the Drupal Association for a bit around the launch of Drupal 8.)

If you think I can help your project/product/program, hit me up on LinkedIn.

This blog occasionally strays outside of technology. I'm a musician. I play the guitar, ukulele, mandolin. I'm a singer/songwriter as well. I'm into the outdoors: run, hike, bike, and ski. My wife and I have a camper van and frequent parks around the Pacific Northwest throughout the year. A separate blog about those adventures may be coming soon.

Recent blog posts

Image Manipulation for Creative Control: Aspect Switcher and Cropping Techniques

Drupal's image manipulation options with image styles, responsive image styles, and image toolkits (GD and Imagemagick) are hard to beat. Have you ever wanted a different image style for landscape versus portrait featured images? Want a custom background fill? Need to make all your images grayscale? Drupal can do that and more. Learn what's possible with image effects to create consistent and performant images.

Vibe Coding a Blog Post into Session Slides for BADcamp

A couple months back I wrote about the new recipe unpacking feature in Drupal. The post received a fair bit of attention and was requested as a session at the Bay Area Drupal Camp (BADcamp). I continue to look for ways to leverage AI for something useful, so I decided to ask it to help me create Reveal.js slides.

Getting Rid of Unused Media with the Entity Usage Module

A client recently needed to audit a number of documents (mostly PDFs) that were unexpectedly appearing in Google search results. The easiest way to identify documents that needed to be archived was to review unused media. Media that was not referenced by field or embedding.

Revisiting Best Practices for Translating Government Websites in 2025

I've picked up a few more bits of knowledge that distilled into these presentations since originally writing this post. Needless to say, I have more than 10 recommendations at this point. To that end, I'm revisiting this important topic as of August 2025.