{"id":178190,"date":"2026-10-30T09:00:00","date_gmt":"2026-10-30T09:00:00","guid":{"rendered":"https:\/\/www.mcfade.co.uk\/blog\/?p=178190"},"modified":"2026-10-15T18:17:06","modified_gmt":"2026-10-15T18:17:06","slug":"building-photography-tools-with-ai","status":"publish","type":"post","link":"https:\/\/www.mcfade.co.uk\/blog\/building-photography-tools-with-ai","title":{"rendered":"I built my own photography tools without writing the code"},"content":{"rendered":"<p class=\"mcfade-series-part\"><strong>Part 3 of 3: AI and photography<\/strong><\/p>\n<p>I&#8217;ve used AI coding assistants to build photography tools by describing the problems, testing the results and feeding back what needed improving.<\/p>\n<p><strong>Quick answer:<\/strong> I built tools for colour analysis, predicted visual attention, image descriptions and face-similarity comparisons using Codex and Claude Code in separate projects. I didn&#8217;t write the code myself. My contribution was knowing the editing problem, explaining the result I wanted and testing whether the tool was useful. These are tools I&#8217;ve built, rather than products I&#8217;m announcing for sale.<\/p>\n<figure class=\"wp-block-image size-full\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png.webp 1254w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-300x300.png.webp 300w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-1024x1024.png.webp 1024w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-150x150.png.webp 150w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><img decoding=\"async\" class=\"wp-image-178186\" src=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png\" alt=\"Paper-cut illustration of a sketchbook connected to a landscape editing card with colour swatches, a curve and sliders.\" width=\"1254\" height=\"1254\" loading=\"lazy\" srcset=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png 1254w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-300x300.png 300w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-1024x1024.png 1024w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-150x150.png 150w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><\/picture><figcaption>AI-generated concept illustration of an idea developing into an editing tool.<\/figcaption><\/figure>\n<h2>Why did I start building photography tools?<\/h2>\n<p>If you use Photoshop, you&#8217;ve probably seen editing panels advertised.<\/p>\n<p>They&#8217;re little extra interfaces full of buttons and controls, built to make particular jobs easier. I&#8217;ve bought panels myself, including TK Luminosity Masking and Lumenzia. They gave me ways to work that would otherwise have involved more manual effort.<\/p>\n<p>I always assumed making something like that belonged to people who could code. A photographer would have an idea, get a developer involved and work out whether enough people would buy it to make the exercise worthwhile.<\/p>\n<p>Then I found myself doing something I hadn&#8217;t expected: building tools for my own photography work, without writing a line of code.<\/p>\n<p>It started with the things I found awkward. Colour theory was one of them. I&#8217;d watched videos, and I understood parts of it, but applying it still felt like a bit of a dark science.<\/p>\n<p>Rather than watch another explanation and hope it finally stuck, I could describe the thing I wanted help with and work on a tool that made it easier to see.<\/p>\n<h2>What did I actually have to contribute?<\/h2>\n<p>The problem still had to come from me.<\/p>\n<p>I had to explain what I was looking at, what I found difficult and what would make the task more useful. Then I had to try the result and say what worked, what felt awkward and what I wanted to improve.<\/p>\n<p>That is a different skill from writing code, but it&#8217;s still work. You need enough understanding of the task to judge the result.<\/p>\n<p>It&#8217;s related to what I wrote about in <a href=\"https:\/\/www.mcfade.co.uk\/blog\/context-is-king-how-to-give-ai-real-context-about-your-business\">giving AI useful context about your business<\/a>. A vague request leaves an awful lot for the AI to guess. Explaining the real problem gives it something more useful to work on.<\/p>\n<p>For these projects, the context was photographic: an image, an editing frustration, and an idea of the controls I would want to use.<\/p>\n<h2>What do the colour tools do?<\/h2>\n<figure class=\"wp-block-image size-full\"><picture><source type=\"image\/webp\" srcset=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1.png.webp 1254w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-300x300.png.webp 300w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-1024x1024.png.webp 1024w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-150x150.png.webp 150w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><img decoding=\"async\" class=\"wp-image-178187\" src=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1.png\" alt=\"Paper-cut landscape card surrounded by extracted colour swatches and a restrained wheel showing related colour choices.\" width=\"1254\" height=\"1254\" loading=\"lazy\" srcset=\"https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1.png 1254w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-300x300.png 300w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-1024x1024.png 1024w, https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-colour-theory-v1-150x150.png 150w\" sizes=\"auto, (max-width: 1254px) 100vw, 1254px\" \/><\/picture><figcaption>AI-generated editorial illustration.<\/figcaption><\/figure>\n<p>I&#8217;ve built two panels concerned with colour theory.<\/p>\n<p>They can analyse the dominant colours in a photograph, help me select colours I want to adjust and suggest colour schemes, such as complementary colours.<\/p>\n<p>That makes an abstract subject more practical for me. I&#8217;m looking at my own photograph and seeing the colours I&#8217;m dealing with, rather than trying to remember which bit of a tutorial applies to it.<\/p>\n<p>The suggestion doesn&#8217;t have to become the finished look. It&#8217;s something I can consider and work with. The photograph still has to look right to me.<\/p>\n<h2>Can a tool show what attracts attention in a photograph?<\/h2>\n<p>I&#8217;ve also built a panel that uses an AI model to create a heat map predicting visual attention.<\/p>\n<p>The question I want it to help with is quite simple. Am I drawing attention to the person, or is the shiny thing in the background winning?<\/p>\n<p>The panel also creates masks and curves layers. Those give me a way to brighten or darken areas after looking at the prediction, rather than just staring at a colourful diagram and wondering what to do next.<\/p>\n<p>The word \u201cpredicting\u201d matters here. I haven&#8217;t measured where a roomful of real people looked. The model is offering an estimate, which I can use alongside my own judgement.<\/p>\n<p>That&#8217;s still useful to me. I just wouldn&#8217;t describe it as proof of what every viewer will notice.<\/p>\n<h2>Why build an image-description tool?<\/h2>\n<p>Another tool uses a local AI model to analyse a photograph and write text descriptions at different levels of detail.<\/p>\n<p>One possible use is helping prepare descriptions for photographs online, where someone using a screen reader needs information about what the image shows.<\/p>\n<p>The tool gives me text to work with. That doesn&#8217;t mean every description is accurate or suitable to paste straight onto a website. The useful result is a starting point I can review, rather than a reason to stop checking what the photograph actually contains.<\/p>\n<h2>What is the face-comparison tool for?<\/h2>\n<p>I&#8217;ve built a tool that compares a generated likeness with a photograph of the actual person and returns a similarity score.<\/p>\n<p>The idea is to get an indication of how close the likeness is. A generated face might look convincing as a face while looking very little like the person it is supposed to represent.<\/p>\n<p>Again, a model score is an indication. It isn&#8217;t proof of identity, and I haven&#8217;t established a magic threshold that guarantees a good likeness.<\/p>\n<p>I find this sort of project interesting because it answers a specific question I&#8217;ve had while working. It gives me another way to look at the problem.<\/p>\n<h2>How do I go from an idea to something useful?<\/h2>\n<p>My process is fairly practical:<\/p>\n<ol>\n<li><strong>Describe the frustration.<\/strong> What takes too long, or is difficult to understand?<\/li>\n<li><strong>Explain the result I want.<\/strong> What would I like to see or control?<\/li>\n<li><strong>Work on a first version with the AI.<\/strong> Give it enough context to build something relevant.<\/li>\n<li><strong>Try it.<\/strong> A tool needs to work for the photographic task, not just open successfully.<\/li>\n<li><strong>Give feedback.<\/strong> Explain the awkward bits and suggest improvements.<\/li>\n<li><strong>Try it again.<\/strong> Judge the result by whether it helps with the original problem.<\/li>\n<\/ol>\n<p>The testing and feedback are a big part of it. An idea can sound good when you describe it, then need a different arrangement of controls once you&#8217;re using it.<\/p>\n<h2>Does this make photography knowledge less important?<\/h2>\n<p>In these projects, it&#8217;s what made the tools possible.<\/p>\n<p>I knew enough about the editing problem to describe it. I knew which parts I found frustrating. And I could look at the result and decide whether it helped.<\/p>\n<p>AI gave me a way to turn that knowledge into software, without learning to write all the code first.<\/p>\n<p>That&#8217;s the part I find most useful. Ideas that used to stay in my head can become something I can open, try and improve. Some help with colour, some help with analysis, and some take a repetitive job off my hands.<\/p>\n<p>They&#8217;re one more part of <a href=\"https:\/\/mcfade.co.uk\/how-we-work\/\">how I work on photographs for clients<\/a>. The decisions about what the photographs need to do still come first.<\/p>\n<p>Cheers,<br \/>\nAde<\/p>\n<hr>\n<h2>Frequently asked questions<\/h2>\n<h3>Did you write the code yourself?<\/h3>\n<p>No. I used Codex and Claude Code in separate projects. I described the problems and desired results, then tested the tools and gave feedback on usability and improvements.<\/p>\n<h3>Are these tools available to buy?<\/h3>\n<p>This is an account of tools I&#8217;ve built for my work, rather than a product launch or an offer to buy them.<\/p>\n<h3>Does an attention heat map show where people actually looked?<\/h3>\n<p>No. My panel uses a model to predict attention. I use that estimate to help assess an image, alongside my own judgement. It isn&#8217;t a record from an eye-tracking study.<\/p>\n<h3>Is a face-similarity score proof that a generated portrait looks right?<\/h3>\n<p>No. It offers an indication from a model. It doesn&#8217;t replace looking at the portrait, and it isn&#8217;t identity verification.<\/p>\n<aside class=\"mcfade-ai-series\" aria-label=\"AI and photography series\">\n<p><strong>AI and photography: a three-part series<\/strong><\/p>\n<ol>\n<li><a href=\"https:\/\/www.mcfade.co.uk\/blog\/?p=178188\">AI can help edit your business photos. Someone still needs to take them.<\/a><\/li>\n<li><a href=\"https:\/\/www.mcfade.co.uk\/blog\/?p=178189\">Seven editing jobs AI can help with, and the judgement it still needs<\/a><\/li>\n<li><strong>I built my own photography tools without writing the code<\/strong> \u2014 this article<\/li>\n<\/ol>\n<\/aside>\n","protected":false},"excerpt":{"rendered":"<p>I thought building editing panels was something for people who could code. Describing the problem and testing the result gave me another way in.<\/p>\n","protected":false},"author":9,"featured_media":178186,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"twitter_22977785_22977785":"","facebook_10157410341118549_123005067715685":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ngg_post_thumbnail":0,"footnotes":""},"categories":[884,3,29,21],"tags":[],"class_list":["post-178190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence","category-blog","category-business","category-commercial"],"uagb_featured_image_src":{"full":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png",1254,1254,false],"thumbnail":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-150x150.png",150,150,true],"medium":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-300x300.png",300,300,true],"medium_large":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png",1254,1254,false],"large":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1-1024x1024.png",1024,1024,true],"1536x1536":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png",1254,1254,false],"2048x2048":["https:\/\/www.mcfade.co.uk\/blog\/wp-content\/uploads\/2026\/10\/mcfade-ai-series-20261015-ai-illustration-building-tools-v1.png",1254,1254,false]},"uagb_author_info":{"display_name":"MCFADE_BUSINESS_BRAIN MCFADE_BUSINESS_BRAIN","author_link":"https:\/\/www.mcfade.co.uk\/blog\/author\/mcfade_business_brain"},"uagb_comment_info":0,"uagb_excerpt":"I thought building editing panels was something for people who could code. Describing the problem and testing the result gave me another way in.","_links":{"self":[{"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/posts\/178190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=178190"}],"version-history":[{"count":1,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/posts\/178190\/revisions"}],"predecessor-version":[{"id":178193,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/posts\/178190\/revisions\/178193"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/media\/178186"}],"wp:attachment":[{"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=178190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=178190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mcfade.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=178190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}