My Journey in Crafting an HTML Site Map for Genealogy Researchers
In my ongoing exploration of digital tools, I recently stumbled upon a fascinating capability of GPT-4. Now, I’ve always been intrigued by the potential of AI to simplify our digital tasks, especially for those of us who might not be knee-deep in code every day. This time, I decided to dive into how GPT-4’s Advanced Data Analysis (formerly known as Code Interpreter) could help me craft a web page HTML site map from some data I had on hand.
The Backstory
Full disclosure, I am on the Board of Directors of a 501c3 non-profit called JRI-Poland, and our mission involves keeping Jewish history in the current and former territories of Poland alive through data. This is data is developed through expert analysis, review and transliteration of historic vital and civil records. We have many different types of users including professional and amateur genealogists who have an interest in tracing specific family histories.
You see, we’re constantly developing our town data and learning about new villages (shtetls) in Poland whose names were forgotten. We dynamically create these pages from data in our system, but as a result, we’ve not yet developed navigation to discover all of them yet.
I had an idea to create a neat HTML page that would organize these towns in an alphabetical index. Sounds simple, right? Getting something that was easy to put together without the help of our software development team was where it got interesting.
The Process
- Understanding the Data: First things first, I had to get a grip on my data. I was able to do some basic SQL queries to generate a basic table of towns and their associated HTML pages.
- Exporting the Data: Once I knew my query worked, I was able to export it to a CSV. The CSV had two columns: “TownName” and “TownURLS”. Pretty straightforward.
- Crafting the HTML: I wanted the towns sorted alphabetically and grouped by the initial letter of their names. The result? An HTML structure with headings for each alphabet letter, listing the towns underneath.
- Adding a Twist: Just when I thought I was done, I realized I had another file. This one had an additional column with URLs for each town’s surname page. For genealogists this is important because it shows what family names we have found data for in the respective towns. So, back to the drawing board!
- Refining the HTML: With this new data, I updated the HTML. Now, each town had two links: one for its main page and another for its surname page.
The Outcome
Voilà! I had an organized HTML page showcasing historic towns in Poland, complete with links to their main and surname pages. And the best part? GPT-4 Advanced Data Analysis made the process a breeze. See a snippet of the code and Index page I created below.
<h2>E</h2>
<ul>
<li>Elblag: <a href="https://www.jri-poland.org/town/elblag/">Town Page</a> | <a href="https://www.jri-poland.org/town/elblag/elblag-surnames-list/">Surname Page</a></li>
<li>Elk: <a href="https://www.jri-poland.org/town/elk/">Town Page</a> | <a href="https://www.jri-poland.org/town/elk/elk-surnames-list/">Surname Page</a></li>
</ul>
<h2>F</h2>
<ul>
<li>Fajslawice: <a href="https://www.jri-poland.org/town/fajslawice/">Town Page</a> | <a href="https://www.jri-poland.org/town/fajslawice/fajslawice-surnames-list/">Surname Page</a></li>
<li>Falenica: <a href="https://www.jri-poland.org/town/falenica/">Town Page</a> | <a href="https://www.jri-poland.org/town/falenica/falenica-surnames-list/">Surname Page</a></li>
<li>Falkow: <a href="https://www.jri-poland.org/town/falkow/">Town Page</a> | <a href="https://www.jri-poland.org/town/falkow/falkow-surnames-list/">Surname Page</a></li>
<li>Filipow: <a href="https://www.jri-poland.org/town/filipow/">Town Page</a> | <a href="https://www.jri-poland.org/town/filipow/filipow-surnames-list/">Surname Page</a></li>
<li>Firlej: <a href="https://www.jri-poland.org/town/firlej/">Town Page</a> | <a href="https://www.jri-poland.org/town/firlej/firlej-surnames-list/">Surname Page</a></li>
<li>Firlej (Radom): <a href="https://www.jri-poland.org/town/firlej-(radom)/">Town Page</a> | <a href="https://www.jri-poland.org/town/firlej-(radom)/firlej-(radom)-surnames-list/">Surname Page</a></li>
<li>Folwarki Wıelkıe: <a href="https://www.jri-poland.org/town/folwarki-wıelkıe/">Town Page</a> | <a href="https://www.jri-poland.org/town/folwarki-wıelkıe/folwarki-wıelkıe-surnames-list/">Surname Page</a></li>
<li>Fordon: <a href="https://www.jri-poland.org/town/fordon/">Town Page</a> | <a href="https://www.jri-poland.org/town/fordon/fordon-surnames-list/">Surname Page</a></li>
<li>Frampol: <a href="https://www.jri-poland.org/town/frampol/">Town Page</a> | <a href="https://www.jri-poland.org/town/frampol/frampol-surnames-list/">Surname Page</a></li>
<li>Frombork: <a href="https://www.jri-poland.org/town/frombork/">Town Page</a> | <a href="https://www.jri-poland.org/town/frombork/frombork-surnames-list/">Surname Page</a></li>
<li>Frysztak: <a href="https://www.jri-poland.org/town/frysztak/">Town Page</a> | <a href="https://www.jri-poland.org/town/frysztak/frysztak-surnames-list/">Surname Page</a></li>
E
- Elblag: Town Page | Surname Page
- Elk: Town Page | Surname Page
F
- Fajslawice: Town Page | Surname Page
- Falenica: Town Page | Surname Page
- Falkow: Town Page | Surname Page
- Filipow: Town Page | Surname Page
- Firlej: Town Page | Surname Page
- Firlej (Radom): Town Page | Surname Page
- Folwarki Wıelkıe: Town Page | Surname Page
- Fordon: Town Page | Surname Page
- Frampol: Town Page | Surname Page
- Frombork: Town Page | Surname Page
- Frysztak: Town Page | Surname Page
Final Thoughts
This experience reaffirmed my belief in the power of Generative AI tools like GPT-4 Advanced Data Analysis to augment our workflow and increase productivity. They’re not just for tech wizards; they’re for anyone curious enough to explore. If you’re keen to see the detailed play-by-play of my interaction with ChatGPT, you can check it out here.
In our rapidly evolving digital landscape, tools like GPT-4 Advanced Data Analysis are game-changers. They’re shaping the future, and I’m excited to be a part of that journey.
Do you have any data wrangling projects that might be a fit for ChatGPT? What have you tried with some success? What did not work? I would love to hear from you.