Skip to main content
generative ai graphic

I'm Not a Developer. Using Generative AI, I Just Finished Building My First Joomla Plugin Without Personally Writing Any Code

Tools extend our capabilities.

Generative AI is no exception.

We've entered a new era of creation where someone, like myself, who has no coding abilities, can code something.

And I've now successfully developed my first Joomla plugin using Google Gemini.

It's not my first generative AI project, but it is my biggest. There was another project a year ago where I had ChatGPT write me some JavaScript for a client. That was my first successful foray into a project that I could not do, but with AI was able to knock it out.

This plugin was much more involved. Ever since I did that JavaScript project, I had the idea in the back of my mind to create a Joomla plugin, particularly one that enabled Joomla websites to leverage some powerful SEO tools.

Recently, while working with a client on their Joomla website, the need arose for easily sharing unpublished article pages with staff members without them having to log in. The login function would create too much friction.

This function did not exist in the Joomla core. And, there was no plugin in the extension directory that provided this function.

Building The Plugin

My initial action was to reach out to a Joomla plugin maker and request that they make it. They declined, and so I decided to take a stab at creating the plugin for my client using Google Gemini.

Immediately, Gemini came up with something! That was exciting. But then there were all types of errors. I would feed those back to Gemini, and it would update the plugin. I'd reinstalled and tested it again.

It's important to note that my experience working with servers and Joomla is so robust, it allowed me to work with Gemini to create this plugin. Without many of my skills and experience, I would not have been able to move it very far, as the early versions often broke the website and required manually removing the plugin files from the server to correct.

I share that insight because generative AI needs guidance, and that requires that we know enough to help it along. But since I'm not a developer, I got stuck when AI got stuck. Not being a coder, I wondered if I could make this happen. After pushing it forward through many errors, it seems like I could not get the plugin functionality to work.

So, I had an idea. I'll have Google Gemini create a deep report for me on how to create this plugin. Before I just started with some basic prompts and pushed them along. With an extensive report that included direction and best practices, I suspected this would more effectively equip Gemini to build what I was seeking.

So, I fed this report to my Gemini prompt that had worked partially through the project, and that made it go crazy. Essentially, that thread of direction got caught in a loop it could not get out of. I couldn't stop it from repeating itself and doing actions that were not helpful. It seems I had gone too far, as introducing the report caused confusion and broke the system.

So I got discouraged and wondered if this was even possible.

But I decided to start a new prompt project, with the report, from the beginning. This action made a huge difference.

Before we build, we need to clarify our intentions and discover what it is we want to build. And that structure makes a big difference when working with generative AI on bigger projects like this.

I worked with Gemini, and this new attempt was moving along quicker than the first time. I also knew some of the issues that would come up and how to address them. I proactively communicate this to Gemini (like asking it to integrate diagnostics into its code to get more information about what's working and what's not). There were points where I was discouraged, but then we would have a small breakthrough.

Not knowing it this outcome of creating a working plugin was possible was half the battle because I didn't know if I was wasting my time on something that would never work or if I was making tangible progress. Generative AI has a pattern of overpromising and underdelivering in its communication so which makes it hard to gauge.

When we made enough progress that the plugin was working, it was exciting, and at that point, I knew with repeated direction and troubleshooting, we'd get to the finish line.

Once we got the core functionality done (generate a tokenized preview URL that expires, for an unpublished article), we created a task plugin to clear out the tokens after the expiration date. It also recommended and implemented security updates and ideas for modernizing the plugin for a better user experience. We then expanded the functionality to include the ability to preview an article by URL when the website is offline. We went through several rounds of updates and got it working!

The plugin is a solid one that does a great job of this simple task. You can check it out here if you'd like to buy it.

Expanding Our Freelance Capabilities

Based on the amount of time it took me to work with Gemini to create this plugin, I suspect a good developer could have made this in the same or less time than it took me. So, it's not quite a time saver, but it is a capabilities extender.

This whole experience was transformative for me. As someone who has worked with Joomla for two decades, it was an opportunity to learn more about Joomla and how plugins were created and worked (something I took for granted).

More importantly, the experience was eye-opening to what I was now able to accomplish with this tool. When I first moved to Atlanta, I was building websites with HTML in very basic ways. When I was introduced to Joomla, it showed me the possibility of a website content management system that could far surpass my capabilities of building a website to do incredible things. And it paved a path for my past marketing company services as well as my current freelance website services.

Generative AI is the same type of leap forward for me in terms of the power it provides.

Seth Godin talks about freelancing in the age of AI as a centaur. Here are a few key insights, with the first about the better option for freelancers.

"Be so good at having AI work for you that you’re the obvious choice when there’s work to be done."

This lines up with my mindset and approach to work in tandem with AI to become more effective at what we do. Seth continues.

"Hiring an AI to work for you and getting very good at producing value feels like the future for most programmers, creators, business development folks and marketers."

At forty years age, with decades of content creation and internet marketing experience, I'm able to do a lot of tactical and strategic actions for my clients. With AI, it extends that for me. And, it gives younger professionals access to many of these capabilities. 

Generative AI provides a lot of power, so intention and structure will determine how it's channeled, but if we become professional channelers, there are many incredible opportunities ahead of us. 

Joomla, AI (Aritifical Intelligence)

  • Created on .
  • Last updated on .