Ben Feicht

Making History More Accessible with Retrieval Augmented Generation (RAG) AI

November 3, 2024
An image of the What Happened Here App homescreen and an image of an example story about the Burnside Bridge

During my work designing history museum exhibits, I've always been struck by a particular challenge: the gap between the range of fascinating historical stories that exist and our ability to share them effectively. While history museums do an incredible job presenting major historical narratives through exhibits, what about the countless smaller stories that make up the fabric of our neighborhoods?

This question became particularly relevant when I realized I'd been living in my Portland neighborhood for years without knowing much about its history. I could dive into libraries, or search through various historical databases—but that requires knowing what to look for and having both the time and expertise to do the research.

I wanted something simpler: the ability to walk down my street, press a button, and discover interesting, relevant historical stories about my immediate surroundings.

Building the What Happened Here App

My first idea to solve this problem was to use a typical AI like ChatGPT. By feeding it coordinates, I thought it could generate location-specific stories. While it did produce content, the results were often broad, general, and sometimes inaccurate. I needed something that could handle up-to-date, accurate, and specific information about places that might not make it into traditional AI training data.

This is where RAG (Retrieval Augmented Generation) came into play. Instead of relying solely on ChatGPT, I used Perplexity which uses RAG to search the internet for specific webpages containing relevant information, then generates responses based on that data. This approach allows me to:

  • Generate focused historical stories using real-time information
  • Provide users with direct links to source material
  • Significantly reduce the inaccuracies common in AI-generated content
  • Make historical sources more discoverable and accessible

I turned this system into a web app that is available for people to try out. The app generates a historical story about what is nearest to you, so it works best to use as you walk through your neighborhood. This app remains an experiment in progress, but the goal is to make local history not just accessible, but engaging and relevant to contemporary life.

I believe this approach demonstrates how AI can enhance education and make history more accessible without replacing traditional historical research and documentation. Instead, it serves as a bridge, connecting people to the rich historical resources that already exist in their communities.

If you'd like to try the app yourself, I have a test version available at whathappenedhereapp.com. Your feedback would be very helpful as I continue development.

Tap to try the
What Happened Here App

Lessons Learned About RAG Implementation

Through this experiment, I've discovered several key insights about working with RAG systems:

1. Letting the Content Guide the Story

Initially, I tried to force the story to have specific focuses — such as asking for stories about local wildlife around historical homes. This often led to fabricated content without proper sources. Instead, I learned to let the available information guide the narrative while controlling how the story connects to broader themes.

For example, when generating content about a historic home in Portland's Irvington neighborhood, the system naturally pulled together verified information about:

  • The craftsman architectural style
  • Early 20th-century logging industry connections
  • The lasting effects of redlining
  • The impact of streetcar development

When I let the app tell these stories it has information about, it gives better results.

2. Determining the Correct Location

One of the biggest challenges for generating accurate information was ensuring that the story was about the correct location. For instance, when generating content about Sunnyside Elementary in Portland, the system would sometimes pull information about similarly named schools in Clackamas, Oregon, or in various communities in California. My solution currently involves:

  • Being extremely specific in the prompt, stating the location (neighborhood, city, county, country) multiple times.
  • Generating multiple potential stories and filtering out those referencing wrong locations.

3. Balancing Source Quality with Story Interest

An interesting challenge emerged around source quality. While I could limit sources to scholarly articles and highly referenced sites, this would potentially miss engaging local stories. Take the theater near Lloyd Center Mall—Reddit sources revealed fascinating community discussions about conflicts between theater and mall owners, and the community's nickname "liemax" for the smaller-than-typical IMAX screen. This kind of drama makes the stories more memorable, so I appreciate the mix of sources I’m currently seeing.

4. Interpreting News Articles about Future Developments

Another significant challenge with RAG systems is handling news articles about proposed developments that never materialized. For instance, when generating stories about the Lloyd Center theater, the system would sometimes treat past proposals as current reality. News articles announced plans to demolish the theater for a new one within the mall, and later proposed multifamily housing on the site—neither of which happened. Yet the AI sometimes presents these abandoned plans as completed projects.

This remains an active challenge I'm working to solve, as historical sources should include news about development plans, but need to be clear about what actually happened.

An example image of the App with a generated story about the Lloyd Center theater, showing the 'liemax' and future development examples.

Moving Forward with RAG


The What Happened Here app shows how RAG technology can bridge the gap between vast stores of historical information and everyday users. By combining the power of AI with real-time web searches, we can create more accurate, engaging, and accessible ways to share knowledge. If you're interested in applying RAG techniques in your own projects, whether for historical education or other domains, I'd love to connect and share more detailed insights from this experiment. The potential applications of this technology extend far beyond local history—anywhere there's a need to make specialized knowledge more accessible, RAG could provide a solution.