Skip to content

alpacaPwaa/askPDF

Repository files navigation

AskPDF - Interactive PDF AI Chatbot

Welcome to AskPDF, a cutting edge SaaS product transforming user interactions with PDF documents. Our advanced AI-driven chatbot facilitates seamless communication, enabling users to inquire and receive comprehensive answers from their PDFs.

Screenshot

Features

  • Intelligent Chatbot : Experience a natural, conversational interaction with your PDFs. Our AI chatbot comprehends your questions and delivers pertinent responses.

  • Secure User Profile Storage: Leveraging PlanetScale and Prisma for robust and secure storage of user profiles, placing a high emphasis on data safety.

  • Enhanced Data Safety: The implementation of trpc strengthens data security between the server and client, assuring a protected and efficient communication pathway.

  • Optimized Vector Database: Utilizing Pinecone, our system enhances vector database functionalities, improving the overall effectiveness and precision of our AI chatbot.

  • Language Model Optimization: Integration of Langchain augments language model capabilities, offering a more sophisticated and seamless interaction experience.

  • Authentication with KindeAuth: KindeAuth provides secure user authentication, ensuring a dependable and safe login procedure.

  • Secure Payments with Stripe: Stripe integration enables hassle-free and secure payment transactions, focusing on a fluid user experience and financial safety.

Technologies Used

  • NextJS: A React framework that enables server-side rendering and other performance optimizations.

  • React: A popular JavaScript library for building user interfaces.

  • Prisma: A database toolkit that enhances database access and management.

  • Trpc: Implemented for enhanced data safety and efficient communication between server and client.

  • Pinecone: Used to optimize vector database functionalities for improved performance.

  • Typescript: A typed superset of JavaScript that enhances code quality and maintainability.

  • Stripe: Integrated for secure and seamless payment processing.

  • Zod: A TypeScript-first schema declaration and validation library.

  • Neo: Utilized for secure storage of user profiles.

  • KindeAuth: Ensures secure user authentication.

  • Tailwind: A utility-first CSS framework for styling the application.

  • Shadcn: Used it to make multiple components like dropdown menu, dialog, toast, avatar etc.

  • UploadThing: Empower your file management with UploadThing, a cutting-edge solution using React, Node.js, MongoDB, AWS S3, and more for seamless and secure file uploads.

  • Langchain: Employed to optimize language model functionalities.

  • Lucide-React: Integrated for customizable icon components.

  • React-Dropzone: Utilized for easy and intuitive file uploads.

  • React-PDF: Incorporated for seamless PDF rendering.

  • Tailwind Merge: Implemented for efficient management of Tailwind CSS styles.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.