THE ITCH THAT NEEDED TO BE SCRATCHED
TAKING OFF THE BLINKERS
The publication of my last journal coincided with the conclusion of a 12-day redesign and relaunch of my website. Within that journal I discussed the laborious task of curating my images. I mentioned how I cursed repeatedly; the length of time it took due to the limitations of the Squarespace template and the fact, (through my choice) I was displaying my work across 12 galleries. These two factors resulted in repeated image descriptions having to be inserted as I lamented the absence of a filterable gallery being part of the Squarespace standard design.
It’s not uncommon to hear photographers advising to take a step back from an image after processing it, in order to create a natural break. This intentional pause is designed to provide the opportunity to review the image after a period of time, in other words, taking a look at the previous work with a fresh pair of eyes. It’s something that happens quite naturally for me in relation to my own photography, especially when processing in black and white as the timescales from start to finish can vary from a few hours to the more extreme cases of over 20 hours in total, so breaks are not uncommon for me. I also applied this approach in both my former professional role and during my academic studies. Whether it was drafting a work-related document or completing a course assignment for my MBA, word blindness or mental block would eventually set in, forcing a halt in my progress, so focusing my energy elsewhere created the space to decompress from what I was working on.
Experience has taught me not to fight it, but to use it to my advantage, and so after completing the image curation and updating all the pages, I put my website back in the public domain. At this point I stepped back from the redevelopment, as after 12 days of working on a complete redesign, I needed something else to take my mind off my website. After a few days, my thoughts returned to my website once again, and I went online to double check all was working as intended and this was when my previous curation niggle started to become an itch. As happy as I was with what I had accomplished, I felt the gallery experience was still a bit burdensome when I looked at it from the perspective of a potential visitor, so I decided to take another look at this to see if other options could reveal themselves.
A SQUARE PEG INTO A ROUND HOLE
Squarespace offers a variety of design templates that are relatively straightforward to use, however they only enable you to take your design so far. If you want to go beyond the template design, then you need to consider the use of ‘plug-ins’ which are pieces of coded software designed to extend a website’s functionality.
One of the advantages of a plugin is the bulk of the coding work is already done at the point of purchase, which means it is generally a case of installing it in your website, which then can be tweaked to suit. One of the disadvantages is many plugins cannot work on the basic Squarespace subscription plan, which was the plan I was subscribed to, so this was a factor I needed to consider if I wanted a significant change in the viewing experience on my website.
When I undertook the website’s previous redesign in 2024, I looked at the concept of using a filter plug-in and discovered there was nothing available that I could use at that time on the basic subscription plan, so I parked the notion and used different galleries to display my work.
With my latest redesign taking shape back in April, and since it had been over two years since I last explored the filter concept, I decided to take a fresh look online to see if the position had changed. After a bit of research, I came across a newly developed plugin that potentially offered the functionality I craved, so I decided to purchase and install it.
As promising as it was, I soon ascertained its functionality was limited and fell short of what I had envisioned for my website, however seeing what it was doing caught my attention and gave me some food for thought.
THINKING INSIDE THE BOX
The phrase "thinking outside the box" is often celebrated as the ultimate form of creativity. However, when it came to resolving the challenge of making further changes to my website, the "box" was the infrastructure my site was built upon, meaning the boundaries between the inside and the outside of the box were rigidly defined. Instead of fighting these limitations, I had to treat them as the foundation of my solution; meaning any innovative changes I introduced, needed to be entirely compatible with the Squarespace ecosystem. The alternative of migrating platforms and starting over from scratch to have the functionality I wanted was my least preferred option.
Seeking internal resolutions is not unusual and this viewpoint is shared by Marissa Mayer, the prominent tech executive and software engineer known for her leadership at Google and Yahoo. On the subject of innovation, she contended that “creativity thrives best when constrained” and she noted that while people often view creativity as an unbridled force, engineers actually thrive on boundaries because "they love to think their way out of that little box."
In considering my options, I casted my mind back to a series of YouTube videos Thomas Heaton and Nigel Danson had created in relation to the customisation of vans they had each purchased for the pursuit of their respective craft. I recalled both overcoming some design challenges in their conversion through the use of 3D printing to address bespoke issues by improvising a tailored solution, which made me think about the issue I was trying to resolve.
Relating to my own situation, the plug-in I had tried was essentially two files containing defined computer code written by a developer to perform a function, but that function was effectively generic. Whilst it did not meet the specification that I needed, the premise of an idea began to form in my mind.
Much like Thomas and Nigel both defining a specification for their design requirements to enable them to print the parts they required, I knew what i wanted from my plugin so i posed myself the question “what if i created a plugin from scratch that was tailored to the functionality I wanted?” With absolutely no knowledge or experience in writing code for a website, I once again enlisted the assistance of AI to progress this idea further.
THE PRICE OF PROGRESS
Unlike the recent redesign where I utilised the Gemini AI model as my assistant, I signed up to Claude AI as it is considered to be one of the best coding assistants available. I started off by putting a question to Claude asking it if it could create a plugin to function as ‘a fully customisable dynamic filterable gallery with a dropped shadow lightbox for use in a Squarespace 7.1 website’.
Claude responded it could create this plug-in and confirmed the code file types that would be generated to make the plugin function subject to my specification. At this point, I learned that for this plugin to work as envisaged, I would have to change my Squarespace subscription to the next level up.
By this time, I had conceded that if I wanted this bespoke plugin for my website, then a subscription change was necessary. The alternative was to maintain the multi-gallery approach and be blighted by the status quo of duplication. As I was still only at the design stage, I didn’t know if my idea on the drawing board would translate into a tangible, working software solution, therefore, paying for the upgrade did not guarantee success at this stage.
I also didn’t want to tinker with my website as it was back online and had no desire to take it offline again as I was unsure how long this downtime would extend to, as I was now sailing into uncharted territory, but being on the Squarespace platform gave me an option.
BUILDING CASTLES MADE OF SAND
One of the advantages of Squarespace is when you create a website it normally comes in the form of a free 14-day trial and thereafter, you can either delete it or activate a subscription to make your website live with an appropriate domain. Whilst the normal timescale is 14 days, I previously learned if you are a Squarespace Circle partner, your trial period is extended to 6 months. As well as creating new websites within the 14 days or 6 months trial periods, you can also create duplicates of your website whether its in draft or live mode.
The option of duplicating my live website offered me scope to keep my website online, whilst I worked with Claude to construct my plug-in and then to test the code within a sandbox environment, so I duly created a clone of my website and started down the path of plugin development.
Overall, the process of development took some time, and it was not without its challenges. The first challenge was using Claude efficiently as the free access tier imposed dynamic limits based on the AI model being used, the complexity of the prompts being submitted and the system traffic at time of use. When session limits were reached, you had to wait 5 hours until a new session could be started.
Another challenge was troubleshooting unintentional bugs created by the plugin as it was undergoing development and testing. Being built from scratch, there were occasions where conflict arose between the plugin code and how the Squarespace website protocols functioned, which then had to be resolved. The other challenge was ensuring the new plugin did not create issues with other parts of the website that inhibited functionality elsewhere. Adopting this approach vindicated the decision to create a duplicate website as when these functionality breakages happened, I was able to repair them during the time Claude was available and not having to sit with a broken live website until such time it could be remedied.
Eventually after installing and refining many reiterations of HTML Code, Custom CSS Code and JavaScript and undertaking various testing scenarios, my idea on paper had manifested itself into a fully functioning plugin. As I was now satisfied the plugin development was complete, I had to curate my images once again for the filter to work on my live site. To accomplish this task, I set up a new page on my website and kept it invisible whilst I loaded all the images into a new gallery and then added all the labelling information for both the filter to work and for Search Engine Optimisation purposes.
Unlike the last time where this process was frustrating to say the least, this time I was content with the knowledge from this point forward, I would only need to do this process once whenever I add a new image to my website in the future, as opposed to multiple times to support 12 galleries in the current design. Insufferable duplication would now be a thing of the past and that prospect was very much welcomed.
With the plugin ready to install on my live website and the preparatory work complete, I utilised Claude to undertake a deep dive audit into every nook and cranny of my website to ensure nothing else needed changing and to double check the audit recommendations that I had enacted following a previous site audit by Gemina AI. Following some further back-end changes, a redesigned website footer and the introduction of a new curated gallery, the new plugin was installed on the live website, and the duplicate website which served as my sandbox was deleted as it had now served its purpose.
THE BRIDGE BETWEEN CONCEPT AND CODE
Overall, the development of my plugin was an interesting experience and all being well I can once again concentrate on the front end of my photography pursuit and begin to process an ever-increasing backlog of images from my various travels and in due course, add them to my website.
Like any experience I always look for key learning points both from a personal development point of view and for the purpose of sharing my experience with others. The following is a summary of these learning points from the perspective of using Claude as a coding assistant;
Rapid Prototyping: Claude can generate hundreds of lines of syntactically correct script in a very short space of time, accelerating the journey from concept to functional code.
Deep Technical Vocabulary: Claude excelled at interpreting raw user experience descriptions and translating them into modern web standards.
The Context Window Drift: As the script grew more complex, Claude sometimes lost its "memory" of the wider code framework so it was important to reinforce the existing logic every so often.
Bespoke Independence: Going down the road of starting from scratch gave me carte blanche to change direction or request additional tweaks to the plugin as the code was essentially my concept and fully adaptable within my sandbox environment.
The Daily Quota Wall: Hitting Claude’s daily usage tier limit did occasionally hinder progress in mid flow. The takeaway from this for future use, is to ensure every single interaction is clear, concise, and structured to avoid wasting valuable "AI tokens."
Be Aware of the Gospel Fallacy: While AI tools like Claude are undeniably revolutionary, they must never be taken as gospel. AI models do not see the real-world output; they predict patterns. They can make confident errors, introduce new bugs, or completely misunderstand how two scripts interact on a live page. Human oversight, logic, and critical evaluation is essential to the overall process.
Execute in Incremental Steps: Another key lesson learned was to make code updates incrementally rather than attempting massive, sweeping changes. I learned if you alter a massive block of code all at once, it was easier to break elements that were previously working perfectly.
Establish a Constant Rolling Baseline: Tied directly to incremental changes is the absolute necessity of maintaining continuous, versioned backups of working code, so if a breakage occurred you can revert to the last steady state.
THE ITCH, SCRATCHED
What began as a lingering frustration with repetitive image labelling across twelve separate galleries ultimately evolved into something far more rewarding than a simple website fix. The journey from identifying the problem to delivering a bespoke, fully functional plugin to work with a single gallery page, reinforced a belief I have long held: that the most meaningful solutions rarely arrive fully formed. More often than not, they emerge gradually, through patience, curiosity and a willingness to follow an idea to wherever it leads, even when the destination is uncertain.
I will admit as I wrote this journal, there is something quietly satisfying about looking at a finished piece of work and knowing that it exists entirely because I refused to sit quietly inside the box. The new filterable gallery and lightbox is not just a technical improvement; it is a reflection of how I approach my photography itself. Both demand attention to detail, a tolerance for iteration, and the understanding that the process, however laborious, is inseparable from the outcome. One informs the other, and in that sense this enhancement to my website felt less like a technical update and more like a natural extension of my creative mindset.
If there is a single takeaway I would offer to anyone reading this, it is simply this: do not be intimidated by the boundaries of what you think you can or cannot do. The tools available today, AI included, have lowered the barrier of entry into disciplines that were once the preserve of specialists. That does not mean the journey will be without frustration, dead ends, or moments of doubt. It means that with the right approach, a clear specification, and the patience to work through the challenges incrementally, the gap between having an idea and the realisation of it, has never been smaller.