Historical Movie Map: A project to filter and find movies on a map

Felcjo Ringo
4 min readMar 17, 2023

--

I’ve always enjoyed historical movies. Biblical epics, war flicks, and historical documentaries are all very interesting in that they are a way for us in the present day to attempt to understand what life was like in the past. Filmmakers strive (often, but not always..) for historical accuracy and the work they and the crew put in to the set pieces is always impressive.

Introducing the Historical Movie Map

As I’ve seen quite a lot of historical movies in my life and enjoy finding new ones, it can sometimes be hard to find lesser known but still good movies. Thus, I’ve had an idea in my mind for a better way to organize movies in a way that is visual and filterable: enter the Historical Movie Map. I wanted to overlay movies on a map by location such that one can zoom in to any area of interest and find movies set in that region. I also wanted to be able to filter movies based on interesting metrics such as the year they were released, what range of years they were set in, and how historically accurate the movies are.

View the map here!

Generating the Database

There are a few existing databases for movies (such as IMDb, Rotten Tomatoes, TMDB), but none have the fields required to accomplish the task of plotting them to a map and filtering on time periods. Thus, I had to generate the database myself. In fact the database is continuing to grow and will hopefully have over 1000 movies soon.

Creating a large database manually would have been slow, laborious, and taxing. Where would I start? Think of movies off the top of my head and search for the relevant information on the IMDb page?

I decided to leverage AI tools such as ChatGPT to accelerate the process. I input the following prompt, and modify it based on what answers I get, or if I get duplicates:

“give me a list of 10 historical movies based in [region] and put them into a table with the following column headings: Movie_Title, IMDb_Link, IMDb_Score, Release_Year, Location_s, Cities, GPS_Location(s), GPS_Latitude, GPS_Longitude, Approximate_Year(s), Century, Historical_Era, Historical_Accuracy_Rating, Reasoning_for_Rating. If you stop writing in the middle of a row, resume with the full row”

A few seconds later, I get a neatly formatted table with relevant info, as shown below.

While this can still be a bit slow, it is less mind-numbing than thinking of a movie, scraping IMDb for basic data, and then attempting to find the relevant geohistorical data by oneself. Yes there are errors (esp with ~30% of links being incorrect) but it is easier to fix existing data than to create it on one’s own. ChatGPT also times out at inconvenient times (I believe there is a one minute timeout), and so often I would have to tell it to continue and reword the prompt so that it would re-include the table formatting.

Building the Webapp

This project was also an interesting challenge for my web development skills. While I have built websites and webapps before, each one has their unique quirks and this was no exception.

The Historical Movie Map uses the open-source Leaflet.js for the map base, which allows developers to plot markers at a given latitude/longitude coordinate. After creating the database, I imported the data into a Google Sheet and published the sheet to the web which allows me to access it remotely (prohack!). I also implemented a set of sliders for the user to filter the movies shown on the map; for example, if you want to find a movie set between 1500 and 1750 AD with a high degree of historical accuracy, you can do just that.

I also relied heavily on ChatGPT as a pair programmer, which was great for getting me boilerplate code and speeding up development time, including providing bugfixes that I didn’t want to use my brain to find the solution for.

Conclusion

I had a lot of fun building this project and am very proud about the result. I will keep adding movies to the database, and will definitely use it to look for something to watch on my next movie night.

Links

Historical Movie Map

Project Github

--

--

No responses yet