Build an AI Chatbot with Google’s New Gemini Pro API & React Native & Expo | Conversational AI

Next-Gen AI ChatBot

Rohit Kumar Thakur
2 min readFeb 23, 2024
Google Gemini Pro Chatbot using React Native Expo & Firebase

Hello everyone, My name is Rohit. In this article, I will guide you through how to build a Conversational AI chatbot using Google Gemini Pro and React Native & Expo. By the end, you’ll have a working app you can showcase and customize further! If you face any issues then feel free to comment or DM me on my social media handles. X && Instagram

Ready to chat with your AI creation? Let’s dive in!

  1. Setting Up Your Project:
  • Initialize your Expo project: Choose a template and name your app. Wait for dependencies to download.
  • Install required packages: expo-speech, react-native-vector-icons, and axios.
  • Create a chatbot component: This will hold the core logic for your chatbot.

2. API Integration:

  • Generate a Google Gemini API key: Use the “Multi-turn conversations” feature for ongoing interactions.
  • Store API key in your project: Keep it secure and replace the placeholder in your code.

3. Chatbot Component Code:

  • State variables: Track chat history, user input, loading status, error messages, and speaking status.
  • handleUserInput function:
    - Add user input to chat history.
    - Send POST request to Gemini with chat history for response generation.
    - Update chat history with AI response.
    - Handle errors gracefully.
  • handleSpeech function:
    - Start or stop text-to-speech based on current state.
    - Utilize expo-speech library for audio functionality.
  • renderChatItem function:
    - Render each chat history item as a ChatBubble component.
  • Component Structure:
    - Display “Gemini Chatbot” title.
    - Show chat history with FlatList.
    - Allow user input with a TextInput.
    - Send button triggers handleUserInput.
    - Display loading indicator and error messages.

4. Styling:

  • Add style properties to different components using tools like VS Code extensions.
  • Remember to replace the placeholder API key with your own.
  • Create a separate chatBubble component for chat message styling.

5. Adding the Chatbot to Your App:

  • Integrate the chatbot component into your main App component.

6. Testing and Beyond:

Run your app to see your AI chatbot in action!
Experiment with different questions and explore the conversational features.
Customize the code to personalize your chatbot further.

Check out the full video tutorial:

Source code link: