Last week, I used ChatGPT to build two things
Hey everyone! I wanted to share a little story about a recent frustration that turned into a small coding adventure. If youâre into digital art, scripting, or just curious about how I hack my workflow with a Wacom and Photoshop, this oneâs for you. Itâs a mix of trial and error, some helpful AI assistance, and the realities of working with Adobeâs scripting quirks. Hereâs how a simple idea grew into a few scripts Iâm actually pretty proud of.
Itâs probably well into Monday by the time youâre reading this, because Iâm writing it a bit after midnight.
There was a minor grievance with how Photoshop doesnât interact with my Wacom tablet; and that small annoyance somehow turned into two scripts (three, really) I built with the help of ChatGPT to address the issue.
What I wanted was simple: adjust the flow of a brush in Photoshop using the Wacom tabletâs Ring Menu.
The idea seemed straightforward: turn clockwise to increase the flow value, counterâclockwise to reduce it; just like how you can zoom or rotate the canvas in Photoshop. I assumed thereâd be hotkeys for increasing and decreasing flow that I could bind to the Ring Menu.
But those hotkeys? They donât exist. Sure, you can use Shift + (0â9) to directly set the flow value, but thatâs not what I was after. Itâs functional, but not how I want things to work.
So I asked ChatGPT how a script would look that toggles a brushâs blend mode between Normal and Multiply, just to get started. I cleaned up the output using Copilot, admittedly got a bit carried away, tested it, andâŚit worked! At the push of an ExpressKey, I could switch blend modes.
I posted that script to Stack Overflow, asking for feedback on the quality of an LLMâs output. Turns out, they have a ban on LLM-generated content. Got my downvotes.
Anyway.
Next, I tackled what I really wanted: using the tabletâs ring input to control brush flow. I told ChatGPT what I had in mind, and got a script in return.
And it worked exactly as intended. It let me adjust flow by rotating the Ringâand it felt fast and snappy.
But there was a catch: it didnât retain any of the other brush settings. Instead, it reset everything to Photoshopâs default brush when applied.
Thatâs when I visited the Adobe Community forums for the first time. I browsed around, read what others had done with ExtendScriptâand I was genuinely amazed. I upvoted. I even commented.
Eventually, I posted my issue. [Hereâs the thread, if youâre curious.] Someone responded and suggested I adapt a script from another post, and I did.
It worked. Kind of.
See, the adapted version was (and still is, as of this writing) slow. Unlike the earlier, snappy version that only touched the flow value, this one has to read, store, and then re-apply all the other brush properties every time itâs called. So if you do a quick half-circle on the Ring, youâll be watching the flow change lag behind for a while after youâve stopped rotating. (Fun fact: the Ring doesnât physically rotate; Wacom employs witches and wizards, obviously)
But it worked and thatâs something. Since the bottleneck is due to how Photoshopâs scripting interface works, not my implementation, I decided to upload the scripts to GitHub. For myself (should someone find a better solution), and for others (should this be the best workaround weâve got).
At some point, I asked ChatGPT:
âThis is so confusing. Why canât we just add the changed value for flow to the existing brush settings, and leave everything else untouched?â
And it answered:
âTL;DR: You canât just âset flowâ without overwriting everything else, because Photoshop scripting doesnât support partial updates to ActionDescriptors.â
And thatâs where things stand: somewhere between not as fast as it could be in a better world (where Adobe supports partial updates), and doing it all manually, dragging sliders around with the mouse.
The other thing I did this week was build a custom RSS parser in Huginn for my Goodreads âreadâ shelf. With ChatGPT helping me outline the approach, everything went surprisingly smoothly.
Since I wanted to post to Twitter/X and Threads every time I finished a bookâand include its genre as hashtagsâI started adding custom shelves on Goodreads for genres.
These genre shelves show up in the RSS feed that Goodreads generates, which made them accessible for automation.
However, because IFTTT canât really parse RSS feeds to manipulate or modify content (like extracting specific info or adding hashtags), I turned to Huginnâa trusty old friend whose scripting language I had completely forgotten.
Thanks to guidance from ChatGPT and some trial and error, I ended up with an internal setup in Huginn that looks like this:
And it works! I expect to need some more tweaking, though. Thereâs a bit of randomness in the setup: ChatGPT suggested using a modulo operation on the date to select one out of six variations of the text âRead: [Title of book]â to send to the Output agent, so my posts donât look exactly the same every time.
Iâm not sure if or when Iâll add this script to my GitHub, but chances are good. For now, I really need some sleep; these late nights chasing dragons through trial and error must come to an end.
So thatâs the update from my digital studio. Sometimes itâs just a small inconvenience that sparks the biggest creative experiments; and occasionally, a friendly AI and some forums can make all the difference. If youâre tinkering with Photoshop scripts, Wacom gadgets, or automation like me, I hope this gives you a bit of inspiration or at least a relatable story. Iâll keep sharing these little journeys as they come. Thanks for reading! This was fun!

















