back to home

Chat with PDFs

AI-Powered Document Analysis

typescriptpineconerole-based authpdf parsingframer-motiontailwindcss

Name is self-explanatory; it's like ChatGPT or Claude, but formatted on documents, PDFs, text files, markdown, etc. Chat with PDFs allows you to have intelligent conversations with your documents using AI.

Tech Stack

  • TypeScript
  • Next.js & React
  • Pinecone Vector DB
  • Clerk Authentication
  • TailwindCSS

Key Attributes

  • Supports multiple document formats
  • Accurate language parsing
  • Optimized for responsive, cost-effective performance
  • LTR & RTL text support

Development Process

  • Implemented vector-based retrieval with Pinecone
  • Optimized OpenAI API usage for cost efficiency
  • Handled bidirectional text and Arabic shaping
  • Built role-based authentication flows
  • Used fonts designed for multilingual support
  • Ensured all text elements had the correct dir attribute

Core Features

  • Vector-based document querying
  • Multilingual text handling
  • Cost-optimized inference
  • Secure user access

Development Challenges

  • My biggest challenge was how to make this cost-effective for me. I wanted to make this service free but I had to pay for OpenAI. I ended up figuring out the best package for OpenAI's API plan for my personal use.
  • Formatting the text correctly was another major challenge, especially for right-to-left languages like Arabic.

Letter Formatting Implementation

  • Character Shaping (Contextual Forms): Arabic requires shaping letters based on their position within a word
  • Bidirectional (Bidi) Text Handling: Mixed LTR and RTL text needs proper Unicode and CSS properties