January 15, 2026 marks 25 years since Drupal 1.0.0. Twenty-five years. From a simple message board to powering some of the world's most complex websites. I wanted to do something to celebrate, but not just write a "happy birthday" post. I wanted to test what's actually possible with Drupal today.
Anilu and I had found some recipe PDFs. Two Colombian ones that I had. Five or six Costa Rican ones from her side. We'd also been cooking from the Accademia Italiana della Cucina website for a while. Our moms are both 75+, they love cooking, and these recipes were scattered around... difficult to read, impossible to search.
So we had an idea. What if we built them something? A real site. Multilingual. Searchable. Something they could actually use and we could share with friends. And what if I did it using Claude Code and modern Drupal to see how far things have come in 25 years?
The result is https://laollita.es. It took 3 days.
The Challenge
Let me be honest about what I was facing.
The Spanish PDFs were challenging. Massive amounts of content. The OCR quality was inconsistent. Recipes formatted in ways that made extraction tricky. Getting clean data required multiple passes of reading and confirmation because of the sheer volume of information.
Beyond the content problem, I needed multilingual support with AI-assisted translations. I needed search that actually worked. Facets. Filters by country and region. An interface accessible enough for someone who didn't grow up with computers.
Could Drupal and AI actually handle this without turning into a month-long project?
The AI-Assisted Development Journey
I started with the Umami demo. This is important. Umami gave me a Recipe content type, a structure, a foundation. It functioned exactly like what Drupal Recipes and templates are designed to do... get you started with something real instead of building from zero. The repetitive work was already done, so I could focus on improvements.
From there, Claudito (my Claude AI assistant) became my development partner. Not a magic wand. A helper.
Here's what AI handled well:
Analyzing PDFs and extracting recipe information
Initial translation passes and export to JSON
Creating migrate plugins to import recipes and translations
A special migration plugin specifically for translations
Building Views and fixing UX and CSS issues
Search API integration with autocomplete and facets
Creating a View to find recipes missing English translations
Bulk operations for translation (this was 100% Claudito, with me directing it to read the VBO module to understand the approach, and re-reading the AI translate module to use the right plugins)
Here's where I had to step in:
Redirecting AI to the right module, the right approach
Making sure AI read the right code or files before doing anything in Drupal
Guiding AI to follow best practices and modern Drupal development
Decisions about architecture and information structure
Changing fields to use more taxonomies to better standardize the recipes
Let me give you some examples. At one point, Claudito wanted to create a module to add CSS classes to a template. I redirected it to change the CSS to add selectors instead. Another time, Claudito started creating a custom module when the code could simply go in the custom theme. These redirections kept the project clean and maintainable.
Claudito let me focus on the decisions that matter. This is the human-in-the-loop approach I've written about before.
For translations, AI did most of the work in the first round. I imported those via the special migration plugin. But we still needed the View for recipes that we identified were missed in the first round, plus an extra PDF we found later. That View now serves as a way to bulk translate in the future when our moms or us add new recipes in Spanish or any other original language.
The Result
https://laollita.es is live.
Our moms can browse recipes in Spanish. Our friends can read them in English. The Italian originals are preserved. You can search by name, filter by country, filter by region. The interface is clean enough that someone who's 75 can use it without calling me for help.
Three languages. Thousands of recipes. Search, autocomplete, facets, AI translations. Three days. One person.
What This Means for Drupal at 25
Here's what surprised me. Not that it was possible. I knew Drupal could handle this technically. What surprised me was how quickly the pieces came together when you combine modern Drupal with systematic AI assistance.
The Umami demo acting as a Recipe/template meant the repetitive groundwork was already done, making modern Drupal more accessible than ever. The Drupal AI module meant translations weren't a separate nightmare. Claudito let me focus on decisions, guidance, and architecture. The ecosystem worked together.
And here's the forward-looking part. I didn't use Drupal CMS. I didn't use Canvas. I didn't use the newer Recipe installation tools. I decided to test it this way because Umami had already given us a solid foundation.
Imagine what this build would look like with those tools added. Drag-and-drop layout building. Even faster site assembly. More accessible for people who aren't command-line comfortable.
Drupal at 25 is not the Drupal I learned a decade ago. The learning curve is flattening as the ecosystem evolves. The AI integration is real and practical. The Recipe/template approach (demonstrated here with Umami) changes how fast you can get to something functional.
If you've been wondering whether Drupal is still "hard"... try building something. Give yourself a few days and a reason that matters to you. Then tell me what you built.
Happy 25th birthday, Drupal. Thanks for letting us build something for our moms.
Añadir nuevo comentario