amir2000.nl photography logo

AMIR2000.NL

Photography

Building My Own Photography Automation System – From File to Website


Building My Own Photography Automation System – From File to Website

πŸ“Έ As a photographer, I spend a lot of time working with images β€” not just capturing them, but organizing, resizing, naming, watermarking, captioning, keywording, uploading, checking for duplicates, and updating my website and blog.
It’s a lot.
So I decided to automate it.
And today, I’m celebrating the biggest technical upgrade to amir2000.nl to date.


🧩 The Challenge: Uploading new photos meant repeating the same tasks again and again:
  • Renaming files to clean, SEO-friendly formats
  • Resizing and watermarking images
  • Generating thumbnails
  • Filling out metadata: keywords, captions, camera details
  • Avoiding duplicates
  • Updating both the live site and the backend database
  • Uploading via FTP
  • Testing every step after
Each image could take minutes to process β€” and with over 32,955 photos already live on the site and counting, that wasn’t sustainable.

πŸ› οΈ The Solution: One Pipeline, Full Control Over the past few weeks, I built a complete end-to-end system using Python, SQLite, and MySQL that now automates nearly every part of my publishing workflow.
🧠 main.py β€” The Image Processing Core
  • Selects images using a custom-built GUI
  • Let's me enter subject, location, and target folder
  • Renames files smartly based on camera, location, and year
  • Automatically applies watermark, resizes, and generates thumbnails
  • Captures EXIF and inserts everything into a local review queue

πŸ“ review_editor.py β€” Final Check Before Going Live
  • Let me review captions, keywords, and all metadata
  • One-click actions for Approve / Reject / Pending
  • Tracks the original file name for matching RAW files and keeping metadata clean

☁️ db_uploader.py β€” Go Live with Confidence
  • Uploads to the MySQL database
  • Publishes directly to my website via FTP
  • Automatically marks files as uploaded to avoid duplicates
  • Checks all filenames against used_filenames.json to ensure uniqueness

πŸ” What It Looks Like in Action Here’s how it flows:
  • I select a group of images at once, depends on the folder/suject.
  • The system smartly renames each based on content
  • It creates thumbnails and resized images instantly
  • Captions and keywords are generated with help from a learning template
  • I review and click Publish
  • The site updates instantly, with zero duplicates
βœ… Fully automated
βœ… Human-checked
βœ… Live in seconds

🧠What’s Next? This is just the beginning.
Coming soon:
✨ Model Training – A custom model that learns from my edits to improve caption and keyword suggestions
πŸ“… Smarter Timelines – Auto-grouping photos by city, event, or series
πŸ—‚οΈ Batch Metadata Editor – To help curate and reprocess my full archive of 32,000+ images
πŸ–₯️ See It Live:
πŸ’¬ Join the Conversation If you love photography, process, or creative automation, I hope this inspires you to build your own system.
And if you're curious how it works behind the scenes β€” feel free to reach out or follow along.
You can find the project in GitHub|anir2000.nl_image_automation.
There's much more to come.

β€” Amir
Photographer, Builder, Dreamer
amir2000.nl

Comments

No comments yet. Be the first to comment!





Back to blog listing