Using OpenAI Codex to Identify Open Source Candidates in My Drupal Project
This post explores how I used OpenAI Codex to identify and prepare one of my custom Drupal modules (GeoWall) for open source release.

This post explores how I used OpenAI Codex to identify and prepare one of my custom Drupal modules (GeoWall) for open source release. Along the way, I tested AI tools, evaluated community need, and built a lightweight geo-restriction tool based on Cloudflare.
I have a ~10 year old Drupal site that originally started with the Release Candidate of Drupal 8. Since then I’ve built on it over the years, eventually updating it up to its current version of Drupal 11. This site is primarily focused on video processing and streaming and over the years I’ve created many small utility and helper modules. Some of which were needed to bring gaps in earlier versions, and some because I wanted something lightweight for whatever task I was doing.
I’ve always wanted to go back through the code and see what I could either retire, or if any of the custom modules would have utility for the Drupal Community, but have never been able to make the time to do so. With Codex, I figured it might be a good test.
Connecting the site was easy enough as the code already existed in Github, so it was little more than authorizing the repo. Again, for this case I wasn’t worried about having the site function in Codex, so I didn’t bring in the database.
With the codebase in Codex I kicked of a task with the prompt:
Codex went off for around 3 minutes and returned the following:
I still wasn't fully convinced so I asked it to dig in a bit deeper and it returned the following modules from my codebase.
I could see the utility in all of them, but at this point I still wasn’t sure of the actual utility here, so I jumped over to OpenAI DeepResearch and asked it to dig into it's initial geowall recommendation and see if others had asked questions on Drupal.org or Stack Overflow that the module could have solved.
and DeepResearch returned the following
I still wasn't 100% sure on the utility and knew their were other ways to get to the same end result, so I had some back and forth with ChatGPT on if there were existing modules that could be used or if I could do this with Cloudflare directly. In the end ChatGPT made it's case:
that seemed compelling enough for me for the purpose of this exercise so I continued by having ChatGPT define the general architecture. The first pass seemed decent, but in order to get a second opinion I passed on the ChatGPT provided architecture to Gemini-2.5-pro--preview-05-06. It came back with a few recommendations:
From there I pasted the plan into Codex and kicked off the task.
From here you can see the generated code and all pull-requests at https://github.com/scottfalconer/geowall. Everything you see there from the readme, to the code, to the commit messages was generated by Codex.
I had high hopes that Codex would one-shot the new module, but there were a few minor issues that I had to walk it through resolving before it all worked. My gut though is if I had provided a way for Codex to execute and verify the code, then it would have likely caught the issue as I really did to resolve was pasted in the error messages and said "fix this.". There was one non-error issue that I needed to guide it through (the menu item for the configuration page wasn't listed in the Drupal admin area), but again with a proper test case or implementation note Codex would have probably handled it.
All in all it was less than an hour of my time to take this from an internal one-off to something that might have utility for others.
Keep reading