Project aim
The library chatbot was created to help staff and students with questions that they might have about the library. It is an alternative to searching on the site, messaging a librarian or asking a member of staff in person. Hence, the chatbot should be able to answer common and basic questions with speed, efficiency and accuracy. When I was creating the chatbot interface, I tried to keep this in mind. I wanted to make the layout intuitive and easy to navigate, but still able to communicate relevant information in a clear and effective way.
Approach
I first created the user interface, that is the part seen on the library page. I thought about how to make the chatbot look clean, polished and professional. The layout and look of the chatbot was changed several times, for example the thumbs up and down rating was originally a 5 star rating system, where the user would click on the number of stars to give.

After this, I then worked on the backend of the chatbot, adding more information and fine-tuning the results.
Overall, while working on the chatbot, my approach was to try different versions of the same thing, to see whether or not a new approach would help improve the existing process. For example, the clear chat functions went through several different redesigns before one was decided on. Although this method may be a little slow, it allows me to consider various factors, such as the interaction between one part of the chatbot with another.
Challenges and Obstacles
For the chatbot interface, I went through several iterations before settling on the final one. The initial plan was to have the chatbot on the side of the library page, so users could navigate to it easily no matter where they were on the library home page. However, this interface was bulky and didn’t seem to integrate well with the library home page. It would block some of the information on the site, and while the chatbot itself could be moved around, it still made the webpage very crowded. I also played around with some different ideas, such as making the chatbot full screen, but ultimately decided to make it an individual page of its own. This would help create the impression that the chatbot is a separate entity and tool, rather than simply being a feature of the library website.

I also needed to work on adding additional information to the chatbot to help increase the range and accuracy of its answers. The first one I worked on was about the library opening hours, and I had to get information from the library’s API and organize it in a way that the AI would be able to recognize and read. This was difficult and I needed several tries before the AI would be able to understand the files.

Once this was done, I moved on to adding the floor plan details. As I had figured out the format accepted by the AI, I just need to do the same for this information.
However, with this information, I needed to prompt the chatbot in a way which it could answer questions regarding this information. I struggled with this for some time, for example, the chatbot couldn’t seem to keep track of the days and would return inaccurate and contradictory information. In the end, it was through trial and error with different prompts that I could finally get the chatbot to return logical answers.
Another part considered was how to correct any inaccurate information shared by the chatbot. To fix this, I needed to add additional information to the existing data, and in a way that allowed information to be easily added and removed.
Takeaways
Overall, I learnt a lot from this project, specifically with working with AI. I gained a new understanding of how different AI models work, and in the process of working with it, developed my logical thinking and analytical skills. Not only this, I also was able to hone my programming skills and learn about new technologies. I look forward to seeing how the chatbot can be improved in the future.