Inspiration

We were inspired by Cohere's Conversant API (specifically creating personas) and Cohere's Grounded QA API. These APIs create conversational AI and provide factual resources, respectively, and we wanted to combine them to create a friendly and informative resource. This is how we came up with our idea, Lotus: a compassionate web app that allows teenage girls to ask uncomfortable questions about growing up.

What it does

This web app prompts a user (target market is teenage girls) to ask uncomfortable questions about puberty, sexuality, dating, body image, feminine hygiene, periods, and more. The web-app outputs informative answers about these topics in language that will resonate with these girls and have the tone of a compassionate friend or older sister to reassure them through their worries.

How we built it

Design and Front-End

We first designed our UI in Figma and then built the front-end with HTML, CSS, and Javascript files and used Bootstrap templates.

Web Framework

We connected the front-end and back-end with a Flask framework since the back-end was in Python. We loaded the first page in Flask, and then made a POST request with user input in a textbox to one of the functions in the answer.py file.

Back-End

Originally, we played around with the Conversant API and the Grounded QA API. Both of these APIs are written in Python. We cloned the Conversant API and created a Compassionate Friend persona in a config.json file. In the config.json file, we provided questions and answers on how to respond to different female questions like sexuality, periods, dating, feminine hygiene, and more. We ran the demo through a streamlit app that interacted with the user and had a very friendly conversation, as if the AI was your big sister.

With the cloned Grounded QA API, we tested the basic functionality of having the API search top Google results for factual answers to the user's questions. We then added two input files that modified the tone of the API to make it more friendly and conversational.

Although we demoed both, the Grounded QA API back-end is connected to the front-end. In the future, we would want to connect the Conversant API with the Grounded QA API to add a persona to the factual information.

Our challenges and learnings

Design

Given the experiences and skillsets of our team members, we decided to implement a web application, rather than a mobile application. As a result, we were challenged to find an innovative way to convey the functionality of a conversational chatbot within the bounds of a web application layout. A chatbot UI would typically display as a back-and-forth text conversation, which would be ideal for a mobile user, but not as intuitive or user-friendly for a web browser user. From this challenge, we learned how to apply design thinking to accommodate different user needs. Ultimately, we produced a user-centric design, opting for a simple, but creative UI that maintained a conversational, but more visually appropriate view.

Engineering

We were required to set up the proper workspace in order to run Cohere’s GitHub repos. Here, we ran into challenges with installing all the required dependencies to run Cohere’s Grounded QA repo, especially regarding Python versioning and pip commands. Ultimately, we resolved these issues by setting up a virtual environment to isolate our commands and successfully run the demo. From this challenge, we learned the importance of creating an organized, compartmentalized workspace environment to collaborate to minimize later potential run issues.

Accomplishments that we're proud of

We are quite pleased with our platform design - we believe our intentional choices in typography, colour, and user experience resonates well with our target market of teenage girls. We are also extremely proud of the implementation of the Flask app as it was able to connect the Cohere APIs to our own stunning front-end instead of Cohere's standard demo UI.

Moreover, we are also very excited about the idea itself - we think that's a unique one and is useful, especially given today's reality of teenage girls lacking resources and information they need in their transition into adulthood.

Finally, as a group of girls that met and decided to team up on Friday night of the hackathon at the building cafeteria, we are very proud that we have been able to successfully work as a team to produce a meaningful project we are proud of. We were able to leverage everyone’s unique strengths and efficiently delegate tasks. We also worked well together to foster a comfortable environment for team members to learn new skills and grow as individuals and hackers.

What's next for Lotus

In the future, we ultimately want to combine and leverage the functionality of Cohere’s Conversant API and Grounded QA API together. Although we are able to demo each separately, our current application is unable to leverage them together. With both, Lotus will be able to truly provide users with the best of both worlds - reliable information relayed in a conversational persona.

Additionally, with more time, we hope to leverage Cohere’s Semantic Search API to allow our users (typically teen girls) the ability to explore new topics they may not be initially familiar with. With Semantic Search, Lotus can go beyond the user’s initial keyword search and retrieve more relevant search results, thus outputting more potential questions and topics the user may be interested in exploring.

Finally, we also hope to optimize and improve the mobile UI of our platform, as we anticipate a large portion of our target market accessing Lotus on their phone for more instant responses.

Built With

Share this project:

Updates