Transform static PDFs into dynamic, AI-powered conversations. Upload, ask, and unlock insights effortlessly.
OpsVerseAI is an innovative Next.js-based application that redefines document interaction. Upload any PDF—be it textbooks, research papers, or reports—and engage in natural, context-aware conversations powered by advanced AI (Gemini API) and vector search (Pinecone). With secure authentication (Clerk), premium subscriptions (Stripe), and a responsive UI (Tailwind CSS), it’s built for efficiency and scalability.
Live Demo | GitHub Repository | Documentation
- 🌟 Quick Overview
- 🚀 Features
- 🛠 Tech Stack
- 📦 Installation
- 🎮 Usage
- ⚙️ Configuration
- 🤝 Contributing
- 📬 Contact
- 📊 Screenshots
- AI-Powered PDF Chat: Upload PDFs and query with natural language (e.g., “Summarize Chapter 3” or “Explain Figure 2”).
- Secure Authentication: Robust sign-in/sign-up via Clerk with session management.
- Premium Subscriptions: Stripe-integrated upgrades with real-time webhook updates.
- Chat History: Save and resume conversations seamlessly.
- Mobile-First Design: Fully responsive UI optimized for all devices.
- Vector-Based Search: Pinecone-powered chunk retrieval for precise, context-aware responses.
- Cloud Storage: AWS S3 for secure PDF uploads.
- Error Resilience: Advanced handling for subscription and API edge cases.
| Category | Technologies |
|---|---|
| Frontend | Next.js, React, Tailwind CSS |
| Backend | Node.js, Gemini API |
| Infrastructure | PostgreSQL (Drizzle ORM), Pinecone, AWS S3 |
| Payments | Stripe |
| Authentication | Clerk |
| Language | TypeScript |
Get OpsVerseAI running locally with these steps:
git clone https://github.com/Prayag-09/OpsVerseAI.git
cd OpsVerseAInpm installCreate a .env.local file in the root directory and populate it with:
# Database
NEXT_PUBLIC_DATABASE_URL=your_postgres_connection_string
# Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
# AWS S3
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION=your_region
AWS_BUCKET_NAME=your_bucket_name
# Pinecone
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX_NAME=your_pinecone_index_name
# Gemini API
GEMINI_API_KEY=your_gemini_api_key
# Stripe
STRIPE_API_KEY=your_stripe_api_key
STRIPE_WEBHOOK_SIGNING_SECRET=your_webhook_secret
- Clerk: Retrieve keys from Clerk Dashboard.
- Stripe: Obtain from Stripe Dashboard.
- AWS: Configure via AWS Management Console.
- Pinecone: Sign up at Pinecone.io for an API key.
- Gemini: Get your key from Google AI Studio.
- Install PostgreSQL locally or use a cloud provider (e.g., Supabase).
- Initialize the schema with Drizzle:
npx drizzle-kit generate npx drizzle-kit push
npm run devOpen http://localhost:3000 in your browser.
- Sign In: Authenticate using Clerk.
- Upload PDFs: Available for Premium users (upload via the home page).
- Interact: Ask questions or request summaries (e.g., “What’s the main point?”).
- Upgrade: Subscribe via Stripe for full access.
- Resume: Access saved chats from the homepage.
- Card Number:
4242 4242 4242 4242 - Expiry Date: Any future date
- CVC / ZIP: Any valid number
- Stripe Webhook: Register
/api/webhookin Stripe Dashboard to handle subscription events. - Clerk Setup: Configure sign-in/sign-up URLs and fallback routes in Clerk Dashboard.
- Pinecone Index: Create an index in Pinecone Console and set the
PINECONE_INDEX_NAME. - AWS S3: Set up a bucket and IAM user with
s3:PutObjectpermissions.
We ❤️ contributions! Here’s how to get involved:
- Fork the Repository: Create your own copy on GitHub.
- Create a Branch:
git checkout -b feature/your-feature. - Make Changes: Follow TypeScript/ESLint conventions.
- Test Locally: Run
npm run devand verify functionality. - Submit a PR: Include a clear description and update documentation.
- Review: Address feedback and iterate.
- Email: prayagtushar2016@gmail.com
- LinkedIn: linkedin.com/in/prayagtushar
- GitHub: github.com/Prayag-09
Last Updated: April 11, 2025
Built with ❤️ by Tushar Prayag


