3 minutes reading time
If you want to feel the full tragedy of the modern web, look at where our photographs live.
Over the last fifteen years, anyone with a camera or a smartphone has accumulated gigabytes of decent documentation: crumbling stone architecture in rural Tamil Nadu, neglected water bodies, specific species of street flora, bus routes, factory gates, and regional food stalls. Most of this visual history ends up rotting in the same place: Google Photos or Apple iCloud.
You don't own it in any meaningful social sense. The cloud provider keeps it locked behind proprietary APIs, indexes it with computer vision to train their internal recognition models, and threatens to delete it if your monthly storage payment fails. Meanwhile, the actual open cultural repository of humanity, Wikimedia Commons, is chronically starved of authentic, high-resolution contemporary imagery outside of Western capitals.
I decided to do something about this with my own archive. I had several albums of local travel, temple architecture, and urban landscapes that I wanted to donate under a Creative Commons CC-BY-SA license.
That was when I ran headfirst into the bureaucratic obstacle course known as the Wikimedia UploadWizard.
I love Wikimedia. I respect the mission deeply, and protecting the commons from machine scrapers is one of the few hills worth dying on. But the technical tooling for actually contributing to that commons feels like it was designed in 2004 by someone who hated human beings.
If you try to upload sixty full-resolution RAW or JPEG files through the standard web wizard, several things are guaranteed to happen: First, the browser tab will freeze on file thirty-four because of memory leaks in the client preview. Second, you will be forced to manually click through sixty separate drop-down menus to declare that you took the photo yourself, re-type descriptions, and select categories. Third, if your connection drops for two seconds in the arid heat out here, the entire batch aborts and tells you to start from zero.
It is so painful that even committed open-source advocates end up throwing their hands up, closing the tab, and leaving their files sitting in Google Photos.
So I wrote a bridge tool: wikimedia-commons-bridge.
The setup is straightforward. It connects directly to your Google Photos account via OAuth, loads your albums, and provides a sensible, bulk curation interface running locally. You select an album, filter the photos you actually want to donate, specify batch categorization (like district, architecture type, or subject), and let the application stream the files directly into Wikimedia Commons using the MediaWiki chunked upload API.
It handles EXIF preservation, auto-generates structured wiki markup with proper licensing templates, and tracks upload progress reliably without requiring you to nurse a browser tab for two hours.
The project is built with FastAPI and React, open-sourced on GitHub.
The internet used to be built by people who took things from their local worlds and put them into public view so anyone anywhere could learn from them. Today, we pay subscription fees to hoard our own memories in private data silos while public encyclopedias rot from lack of material. Building tools to break that lock-in is the least we can do.
Image Credit: Caspar David Friedrich (1774-1840) - Wanderer above the Sea of Fog via Hamburger Kunsthalle / Wikimedia Commons.