Vibe Coding to my Travel Map
Every dot is a location I've been and taken a photo. When you see it all on a page it shows just how much is left to see!
I spent my career in technology. A 9 year run at Arthur Andersen working on development of a large financial system and then Lotus Notes, Sametime and QuickPlace along with building out a webcasting video platform long before YouTube, Teams, Messenger and Slack came along. Long forgotten names that came out just a few years ahead of their time.
I was fortunate to spend that time with an amazing team and still 24 years after we all worked together miss the camaraderie. I went from that through a winding and dim tunnel to arrive at M&S Technologies where I'd spend the next 21 years, building out solutions for optometry and ophthalmology with our Smart System 2 systems, CTS and SSVR.
All this to say I've spent a lot of time in software development, much of it prototyping new tech and getting things through proof-of-concept and ready for "real" developers who I'd then attempt to manage. Despite doing COBOL, C++, C# and some Java professionally, it wasn't my strength. Now retired and looking for some winter entertainment I've been experimenting with Claude, Gemini and ChatGPT - building book ideas, designing blog templates, and finally tackling the 200,000+ photos I've taken over 30 years.
With GPS Data embedded in the EXIF data in many of my photos I tried Gemini to extract the data so that I could see some nerdy photographer data like which focal lengths I prefer, but I also extracted the locations. I had Gemini write Python code that I could then modify to better suit me and arrived at a pretty great map of my travels.
I've loved to travel since I was a young kid and did some amazing road trips around the US as a child. My adult life had me traveling both personally, but always hundreds and hundreds of thousands of miles professionally. I'm a Million Miler on United, with another 300,000-400,000 miles on assorted other carriers. I really wanted to see it all laid out - the visual record of my adult life on a map.
Realizing that there were photos in Google Photos that weren't on my PC I looked for ways to extract the information from Google, but they make it hard to extract locations because of privacy concerns. However, Google Takeout lets you download everything with JSON files for photos with information that can then be analyzed. After a bit of trial and error and eliminating a few spurious locations such as Null Island I had my map!
Null Island, for geography nerds is 0°,0° where the Prime Meridian intersects the Equator. Sometimes rather than inserting a Null or NA or just nothing, the EXIF data will get 0,0 which is then mapped to this location off the south coast of Ghana.
Having worked in 45 states and visited all 50, and done the same in nearly 20 countries while visiting another 35 on the 6 major continents I thought I had seen a good chunk of the world. When you see it all out there, though, it shows just how much left to see there is. Hopefully the world political climate will change in the years ahead some big areas of this map will be filled in with more color. There's still so much more to see and so few years yet to see it!
Vibe coding the Python needed to do this was absurdly fun. It probably helps that I know how to describe what a program should do after decades of explaining features and functions to talented developers, but I was stunned at just how quickly it could generate code. I've worked on some Android apps in Android Studio connected to Gemini and in a few hours put together an app that would have taken me 1-2 weeks to write from scratch. It is mind boggling.
I started by asking Gemini to write a Python script to extract all of the EXIF data to a CSV that can easily imported into Excel. Then I had it write a second script to extract the GPS data and create the map. Realizing that a lot of my photos from my phone were in Google Photos I faced the challenge that I could not just have Gemini extract the information already in Googles ecosystem. I had to download all of the files. 225 GB worth of photos! 114 zip files. It took nearly 12 hours to create the zips and all morning to download them! Then another script to extract the data, create a new map and see where I'd been! Once I understood how it worked, I added some locations that I visited where I didn't have GPS data in the photos and arrived at a finished map.
It is a bit humbling to see it all in one image.
Detailed US map where the lines of interstates I-80, I-90, I-10, I-40 and more are clearly shown indicating road trips across the country!

Comments