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!




















