Made by Katherine Herzog

Found in Mid Mini MeBot

A chatbot with info on my own National Park travels



The idea behind NPSBot was to create a reference for the National Parks I've visited and provide some information about those that are still on my list. Looking into the NPS API, I discovered that each park had an official description, which I thought would serve as a nice encapsulation in the context of a chat. 



I wanted this experience to feel like a conversation, but also a bit like a guessing game. I felt it would be more interesting for the user to input any parks they've heard of or can think of to see if I've been there rather than just providing a listing of my have and have-not's. 



My process for this bot was extremely iterative; I first started with a high number of conditional statements (one for each of the parks I'd been to) but then realized that I could be more concise using two arrays - one for the parks I'd been to and one for those I hadn't. As I built, I was constantly looking for new ways that I could make the user's experience feel a bit more natural. 



The result is a chatbot that can give a bit more info about my travels, including how many parks I've been to, which parks I've been to, which ones are still on my to-do list, and which was my favorite. For the parks I have been to, I also linked to my personal website where I've documented my visit to each park.

Deployed here: 



This process forced me to explore new functionality that I hadn't yet dealt with in Ruby, which of course presented challenges. One of the things I struggled most with was the desire for flexibility in terms of user input. For example, I wanted the bot to accept a variety of inputs for someone asking about Arches National Park. I wanted "Arches, Arches National Park, Arches NP, Arches?," and all lowercase permutations to return the same result, so I needed to find functions like .include? to encompass these possibilities. 

If I were to work further on this bot, I would like to return imagery along with the descriptions for each park to make the experience more fun and visual. I would also try to work out why the response time on some of the messages are so slow. 😕

Share this Project

This project is only accessible by signed in users. Be considerate and think twice before sharing.


49714 Programming for Online Prototypes

· 9 members

A hands on introduction to building online products and services through code


A chatbot with info on my own National Park travels


September 24th, 2018