Florida Drupal Camp logo with a palm tree graphic.

Last week, I traveled to Florida for Florida Drupal Camp, marking my eighth time attending the event in Orlando. In fact, back in 2017, Florida Drupal Camp was my first-ever Drupal event! At the time, I was a librarian for the Jacksonville Public Library, managing a Drupal 7 website, and I remember feeling nervous about attending a developer conference. Ironically, the very first session I attended that year was about Imposter Syndrome—a fitting topic for my first dive into the Drupal community!

A Return to Jacksonville

Since moving to Indiana, I’ve been fortunate to keep my attendance streak alive. I still use this annual trip as an opportunity to visit my former home in Jacksonville. Even though it has been five years since I lived there, I always bookend the conference with a day or two in Northeast Florida.

Food I Can’t Get in the Midwest 

Of course, a trip back to Jacksonville means stopping for food I can’t get in Indiana. First up:

Whataburger – This Texas favorite expanded to Jacksonville while I lived there, and I miss it dearly. It was my first stop after arriving.

Whataburger table number 47 on a restaurant table.

The Bearded Pig – Before heading to Orlando, I had lunch in San Marco at one of my favorite BBQ spots. The brisket sandwich with South Carolina-style BBQ sauce was outstanding!

Barbecue brisket sandwich with mac and cheese, pickles, and onions on brown paper.

Metro Diner – Even though there’s a Metro Diner in Indianapolis, it doesn’t quite feel the same as the Jacksonville locations. Had to stop by for breakfast.

Metro Diner cup on a table in a restaurant setting.

Revisiting Favorite Places

While in Northeast Florida, I took time to visit some of my favorite spots: 

Kingsley Plantation – When I lived in Jacksonville, I’d spend hours here just relaxing, looking out over Fort George River, or even kayaking. It remains one of my favorite places.

Man in glasses and cap smiling in front of a historic white house on a sunny day.
The author in front of the plantation house.

 

Two palm trees by a serene lake under a clear blue sky.
Fort George River from Kingsley Plantation

St. Augustine – Even though it’s a tourist destination, I always find time for a stroll down St. George Street and a visit to the Castillo de San Marcos.

Statue of a soldier in front of a historic building at dusk, with palm trees and flags.
Pedro Menéndez de Avilés Statue in front of the Lightner Museum
Historic stone fort under a cloudy blue sky.
Castillo de San Marcos

Jacksonville Public Library – Since I worked there for 17 years, it’s always great to stop by and see former colleagues.

Large stone building with tall columns under a partly cloudy sky.
Main Branch of the Jacksonville Public Library

Buc-ee’s – Ohio won’t get its first Buc-ee’s until later this year, so while in Florida, I took full advantage of the Daytona and St. Augustine locations. Buc-ee’s is more than just a gas station—it’s an experience. From massive snack selections to Texas-style barbecue, it’s always a must-stop on my trips.

Aqua shirt with Buc-ee's logo, a beaver in a red cap, and text "ST. JOHNS, FL."

Agile & Git Workflows Training 

Even though I originally didn’t sign up for a training session, I decided last minute to attend April Sides' session on Agile and Git workflows. April is also the organizer of Drupal Camp Asheville, which I’ve attended multiple times. 

Key Takeaways: 

  • As a solo developer at a non-profit, it was insightful to see how larger teams work.
  • I’d heard of Agile before, but now I understand how it helps teams collaborate efficiently.
  • While I already use Git, this session helped me better understand team workflows and how I can apply best practices to the contributed modules I maintain.

Saturday Sessions: Learning & Networking

Attending Drupal Camp in person is valuable because it lets me dedicate an entire weekend to learning—something that’s harder to do when balancing work.

Batch Editing Content

The first session that caught my eye was Sum of a Batch!!!, which covered batch editing content. Since I’ve done a Drupal 7 to Drupal 11 migration, I was eager to learn more efficient ways to handle bulk content changes.

I need to check out the Codit: Batch Operations module to see if it can help streamline bulk edits and alterations.

Backdrop CMS: Back(drop) to the Future

Of course, I had to attend Laryn Kragt Bakker’s session on Backdrop CMS. Since I contribute more to Backdrop than Drupal, I was especially interested in hearing about its long-term viability and performance advantages.

While Backdrop is often seen as a migration path for Drupal 7 sites, this session focused on why it’s a great choice for new projects, too.

Key Takeaways:

  • Backdrop’s niche – Positioned between WordPress and Drupal, Backdrop maintains Drupal's flexibility while offering a simpler, lower-cost alternative.
  • Performance advantages – Laryn shared metrics showing Backdrop outperforming both Drupal and WordPress in key areas.
  • Long-term stability – Unlike modern Drupal, which moves quickly with dependencies, Backdrop prioritizes backwards compatibility and lower maintenance costs.

Since I’ve been actively maintaining Backdrop modules, it was great to connect with other contributors—and after years of collaboration, I finally got to meet Laryn in person!

Two people smiling indoors, wearing glasses and casual clothes.
Laryn Kragt Bakker (left) - Justin Keiser (right)

The Highlight of the Day: Lunch at Gringos Locos

I always look forward to Gringos Locos tacos at Drupal Camp. They’re so good that I forgot to take a photo!

Exploring Experience Builder

This session provided an overview of the Experience Builder initiative, which aims to make Drupal site-building faster and more accessible—especially for marketing teams and content creators who may not have Drupal experience.

Key Takeaways:

  • No-code theming and layout creation directly in the browser
  • Content creators will have more control over page composition
  • Potential challenges in maintaining structured content as flexibility increases

While Experience Builder doesn’t exist yet, I’m curious about how it will compare to existing site-building tools and how it might integrate with modern front-end techniques like Single Directory Components and Tailwind CSS. Additionally, how will it interact with existing tools in Drupal? Will it complement or conflict with Layout Builder, Paragraphs, or other content structuring approaches?

Debugging with Randy Fay

One of the most valuable sessions was Randy Fay’s talk on troubleshooting and debugging. Randy is well-known in the Drupal community as the lead maintainer of DDEV, a popular local development tool that many developers use regularly.

Since I use ChatGPT for coding quite a bit, I know how crucial debugging skills are when AI-generated code is almost correct—or sometimes very wrong. Randy’s session covered key techniques to track down and resolve errors efficiently.

 

Takeaways:

  • Xdebug & Git are essential tools for troubleshooting and refining code.
  • I plan to revisit the examples from this session to sharpen my skills.

Exploring Tugboat for Automated Previews

For the final session of the day, I attended a talk on Tugboat and how it can be used to generate automated previews for contrib projects on Drupal.org.

Cartoon goat relaxing in a pink bathtub with bubbles.

While I’ve never personally used Tugboat, I’m familiar with it because:

  • Backdrop CMS uses Tugboat for core issue previews—whenever a pull request is made, a preview is built with the patch applied.
  • Anyone can spin up a demo of Backdrop CMS directly from the homepage.

This session walked through how to add a Tugboat config.yml file to a contrib module or theme, enabling automated previews for Merge Requests on Drupal.org.

One thing I found interesting was that Backdrop doesn’t automatically do this for contrib projects. While core uses Tugboat extensively, individual contrib maintainers have to configure it themselves. This got me thinking about whether it would be possible to better integrate Tugboat previews for Backdrop contrib modules as well.

AI in Drupal

I’ve been an early adopter of AI in Drupal and Backdrop CMS, but I hadn’t kept up with the latest developments until this session. The integration of AI into Drupal has progressed rapidly, moving from individual experimental modules to a more structured AI module ecosystem.

Key Highlights from the Session:

  • AI Agents – AI-powered assistants can now help automate tasks like building content types, fields, and views. This could be a game-changer for site builders, reducing the time spent on repetitive configuration tasks.
  • AI-Generated Alt Text – Accessibility has always been a challenge when relying on content editors to manually enter descriptive alt text. With AI, there’s now a real opportunity to enhance accessibility by automating this process.

As someone who maintains the OpenAI module for Backdrop CMS, I’m particularly excited about advancements in AI-generated alt text. I’ve been on a long-standing mission to get content editors to consistently provide good alt text—if AI can help automate and improve this, it would be a huge win for accessibility.

With AI tools evolving so quickly, I’m interested in seeing how Drupal’s AI ecosystem continues to grow and how these technologies will impact both content creators and developers.

Native CSS vs. SASS

The final session I attended made a case for using native CSS instead of SASS. I’ve never been a big fan of SASS, mainly because I don’t like the extra setup required for compiling. This session validated my decision to stick with:

  • CSS Nesting – Allowing for cleaner, more readable styles without needing SASS.

  • CSS Variables – Providing flexibility and reusability across stylesheets.

With modern CSS gaining more powerful features, the need for SASS is diminishing. While some workflows may still benefit from it, this session reinforced that sticking with native CSS is a perfectly valid approach—one that I’m happy to continue using.

Contributions: A Different Kind

Instead of contributing during the official Sunday sprint, I had to troubleshoot an issue with a Let's Encrypt certificate inside Elastic Beanstalk on AWS. Of course, I couldn’t remember how I set it up the first time, so I spent part of the day rediscovering the process. Fortunately, I figured it out later that evening.

But I did manage to contribute something fun:

Spinal Tap for Drupal 11 – Since the release of Drupal 11, it has been screaming for a module inspired by Spinal Tap. In the spirit of Bad Judgement and Drupal XP, I created Spinal Tap Mode—a module that checks if Drupal 11 is running and, if so, turns the site up to eleven on the Status Report page.

Because, let’s be honest, everyone needs this.

Knob turned to 11 with text: "The numbers all go to 11!"

Final Thoughts 

Florida Drupal Camp is always worth the trip. I got to: 

Visit favorite spots 
Learn new things to improve my work 
Enjoy some of my favorite Florida foods 
Contribute back to the Drupal community

A vintage Toledo weighing scale with a green frame.
The scales in Florida Publix stores are a must see!