Inspiration

The idea for a chatbot was not immediately envisioned during the early phases of development. Never have we thought to incorporate multiple personalities for Buddy the Game Host or Buddy the Therapist.

Instead, we focused on creating a cleaner variant of Gemini with accessibility features such as speech-to-text and its inverse. However, as we experimented with the LLVM, we discovered that we can fine-tune Gemini's results by discretely passing large string modifiers to prompts to guide its responses, allowing us create more consistent behavior in its conversations.

What it does

Our chatbot built upon Gemini can switch between 2 distinct personalities: a gameshow host and a therapist. While the former challenges users with computer science trivia questions, the latter helps users resolve their emotions through the consoling of Gemini.

How we built it

The web app is built using React framework with Material UI for styling and other miscellaneous libraries for TTS and STT.

Challenges we ran into

One of the most recurring challenges is reading documentation. While some API have extensive instructions on how to use them, others have more scarce examples that forces debugging and meticulous rereading. For example, when using the microphone, the old transcriptions were not cleared and lead previous audio to be included after a second recording.

Accomplishments that we're proud of

  • The consistency of Gemini after appending many modifications to the prompt
  • The personality switching mechanic

What we learned

  • The npm library system
  • React hooks
  • The drawbacks of LLVMs when generating code and its limitations when debugging

What's next for C PLUS ULTRA'S API​

In the future, we may consider porting the web app to a public domain such as Github Pages. We may also include more personalities and reevaluate the desirability of the chat app's current responses and readjust modifiers accordingly.

Share this project:

Updates