A TypeScript-based project that allows users to interact with PDF documents through a chat interface. This project leverages Node.js and various npm packages to provide a seamless experience for parsing and querying PDF content.
Project Demo
Features
PDF Upload and Processing : Upload PDF documents and parse them for content extraction
Interactive Chat Interface : Engage in conversations about the uploaded PDF content
AI-Powered Document Analysis : Leverage LangChain and AI models to understand and answer questions about PDF documents
Vector Database Integration : Use Pinecone for efficient document similarity search and retrieval
User Authentication : Secure user authentication and session management with Clerk
Payment Integration : Stripe integration for premium features and subscriptions
Real-time Chat : Live chat functionality with markdown support for rich text formatting
File Management : Drag-and-drop file upload with Firebase storage integration
Responsive Design : Modern, mobile-friendly UI built with Tailwind CSS and Radix UI components
Document Preview : View PDF documents directly in the browser using React PDF
Toast Notifications : User feedback through interactive toast messages
Type Safety : Full TypeScript implementation for enhanced development experience
Technologies Used in Chat with PDF
Core Technologies
Next.js : React framework for server-side rendering and static site generation.
React : JavaScript library for building user interfaces.
TypeScript : Superset of JavaScript that adds static typing.
PDF Handling
pdf-parse : Library for parsing PDF files.
@react-pdf/renderer : Library for rendering PDFs in React.
react-pdf : Library for displaying PDFs in React.
Authentication and Database
@clerk/nextjs : Authentication library for Next.js.
@clerk/elements : UI components for Clerk authentication.
firebase : Backend-as-a-service for building web and mobile applications.
firebase-admin : Firebase Admin SDK for server-side operations.