Skip to content

RutamBhagat/TalkSpark-AI-Powered-Conversation-Starter

Repository files navigation

TalkSpark: AI-Powered Conversation Starter

Overview

TalkSpark is an AI-powered tool designed to generate personalized conversation starters. The application leverages OpenAI's capabilities to analyze social media profiles and create custom icebreakers, making it easier to initiate meaningful conversations with new connections.

Frontend: TalkSpark UI

Frontend Repo: Talk Spark Frontend

Backend Repo: Talk Spark Backend

Demo Video

talk.spark.cgXr4V6pQZ8.mp4

Key Features

  • Profile Analysis: Automated system that analyzes social media profiles using LangGraph and custom tools
  • Custom Icebreakers: Generates personalized conversation starters based on profile data
  • Multi-Platform Integration: Supports various social media platforms through web scraping
  • Modular Architecture: Easily extensible to include additional data sources and language models

Technologies Used

  • Frontend: Next.js for a responsive user interface
  • Backend: FastAPI for efficient request handling
  • AI Integration: LangChain, LCEL, LangGraph for AI processing
  • External Tools: TavilyAPI for web search, jina.ai for persons data
  • Development Tools: Python for backend processing

Challenges and Learnings

The development process provided valuable insights into:

  • Integrating multiple data sources and LLMs into a cohesive application
  • Creating custom agents and tools for LangGraph
  • Optimizing web scraping for reliability and performance
  • Implementing async processing and caching mechanisms

Optimizations

  1. Caching System

    • Implemented profile and webpage caching to reduce redundant requests
    • Improved response times through efficient data storage
  2. Asynchronous Processing

    • Concurrent handling of web scraping and data processing
    • Enhanced system responsiveness and scalability

Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.10+
  • Docker (optional)
  • Git

Frontend Setup

   # Clone repository
   git clone https://github.com/RutamBhagat/talk_spark_frontend
   cd talk_spark_frontend

   # Install dependencies
   npm install

   # Start development server
   npm run dev

Backend Setup

   # Backend
   git clone https://github.com/RutamBhagat/talk_spark_langgraph
   cd talk_spark_langgraph

   pipx install pdm

   pdm install

   source .venv/bin/activate

   pdm run uvicorn app.server:app --reload

If you want to setup using Docker

   # Remove the old container if present
   docker rm talk-spark-container

   # Build the new image with no cache
   docker build --no-cache -t talk-spark-app .

   # Run the container
   docker run -d -p 8000:8000 --name talk-spark-container talk-spark-app

Outcome

TalkSpark successfully demonstrates the practical application of AI in facilitating human connections. The system provides efficient, personalized conversation starters while maintaining scalability and performance through optimized processing techniques.

Screenshots

1 2 3 4