AutoRFP is an intelligent platform that automates RFP (Request for Proposal) response generation using advanced AI. Built with Next.js 15 and powered by LlamaIndex, it helps organizations respond to RFPs 80% faster by automatically extracting questions from documents and generating contextual responses based on your knowledge base.
- Prerequisites
- Technologies Utilized
- Features
- Run Locally
- Deployment
- API Endpoints
- Troubleshooting
- Project Structure
- Sample Data
- License
- Contact
Before setting up AutoRFP, ensure you have the following installed and configured:
- Node.js (v18.x or later)
- pnpm (v8.x or later)
- Git (for version control)
- PostgreSQL database (local or cloud)
- Supabase Account (for authentication)
- OpenAI API Account (with credits)
- LlamaCloud Account (optional, but recommended)
- Framework:
Next.js 15
- UI Library:
React 19
- Programming Language:
TypeScript
- Styling:
Tailwind CSS &
Radix UI
- Database & ORM:
PostgreSQL &
Prisma
- Authentication:
Supabase Auth
- AI & ML:
OpenAI GPT-4o & LlamaIndex
- Cloud Indexing:
LlamaCloud
- Package Manager:
pnpm
- π€ AI-Powered Document Processing: Automatically extract questions and generate contextual responses.
- π Multi-Format Support: Understands Word, PDF, Excel, and PowerPoint files.
- π’ Multi-Tenant Architecture: Full support for multiple organizations with role-based access control.
- π€ Team Collaboration: Invite team members with different permission levels (owner, admin, member).
- π Project Organization: Organize RFPs into distinct projects for better management.
- βοΈ LlamaCloud Integration: Connect seamlessly to LlamaCloud for powerful document indexing.
- π Advanced Search & Indexing: Work with multiple document indexes and track sources in responses.
- π¬ Interactive AI Chat: A modern, chat-style interface for generating and refining responses.
- βοΈ Response Editing: Easily edit and refine AI-generated responses before finalizing.
- π Secure Authentication: Magic Link authentication handled by Supabase Auth.
To run AutoRFP on your local machine, follow the steps below:
-
Clone the Repository:
git clone https://github.com/RanitDERIA/tata-rfp.git
-
Install Dependencies:
pnpm install
-
Environment Setup: Create a
.env.localfile in the root directory and add your configuration:# Database DATABASE_URL="postgresql://username:password@localhost:5432/auto_rfp" DIRECT_URL="postgresql://username:password@localhost:5432/auto_rfp" # Supabase Configuration NEXT_PUBLIC_SUPABASE_URL="your-supabase-project-url" NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key" # OpenAI API OPENAI_API_KEY="your-openai-api-key" # LlamaCloud LLAMACLOUD_API_KEY="your-llamacloud-api-key" # App Configuration NEXT_PUBLIC_APP_URL="http://localhost:3000"
-
Database Setup: Set up your local PostgreSQL database and run migrations.
# Create the database using psql or your preferred tool psql -c "CREATE DATABASE auto_rfp;" # Generate Prisma client pnpm prisma generate # Run migrations pnpm prisma migrate deploy
-
Configure Services:
- Supabase: Create a project and get your URL and Anon Key. Configure authentication providers and email templates.
- OpenAI: Generate an API key and add credits to your account.
- LlamaCloud (Optional): Create a project and generate an API key.
-
Start the Development Server:
pnpm dev
-
Open Your Browser: Navigate to http://localhost:3000 to see the application running.
The application is optimized for deployment on Vercel, but can be deployed to any platform that supports Node.js.
Deploy to Vercel:
- Push your code to a GitHub repository.
- Connect your repository to Vercel.
- Configure the production environment variables in the Vercel project dashboard.
- Deploy! Vercel will automatically build and deploy your application.
Other Deployment Options:
- Railway
- Heroku
- Digital Ocean App Platform
- AWS Amplify
- Google Cloud Run
The application exposes several API endpoints for core functionalities:
POST /api/organizations: Create a new organization.POST /api/projects: Create a new project.POST /api/extract-questions: Extract questions from uploaded documents.POST /api/generate-response: Generate AI-powered responses.GET /api/llamacloud/projects: Get available LlamaCloud projects.POST /api/llamacloud/connect: Connect an organization to a LlamaCloud project.
- Database Connection Issues: Ensure your
DATABASE_URLis correct. You can test the connection withpnpm prisma db pull. - Authentication Issues: Double-check your Supabase URL and keys. Ensure redirect URLs are correctly configured in your Supabase project settings.
- AI Processing Issues: Verify your OpenAI API key has credits. Check your LlamaCloud API key if document indexing fails.
- Environment Variables: Make sure all required variables are set in your
.env.localfile or your deployment platform's settings.
auto_rfp/
βββ app/ # Next.js 15 App Router
β βββ api/ # API routes
β β βββ extract-questions/ # Question extraction endpoint
β β βββ generate-response/ # Response generation endpoint
β β βββ llamacloud/ # LlamaCloud integration APIs
β β βββ organizations/ # Organization management APIs
β β βββ projects/ # Project management APIs
β βββ auth/ # Authentication pages
β βββ login/ # Login flow
β βββ organizations/ # Organization management pages
β βββ projects/ # Project management pages
β βββ upload/ # Document upload page
βββ components/ # Reusable React components
β βββ organizations/ # Organization-specific components
β βββ projects/ # Project-specific components
β βββ ui/ # UI component library (shadcn/ui)
β βββ upload/ # Upload-related components
βββ lib/ # Core libraries and utilities
β βββ services/ # Business logic services
β βββ interfaces/ # TypeScript interfaces
β βββ validators/ # Zod validation schemas
β βββ utils/ # Utility functions
β βββ errors/ # Error handling
βββ prisma/ # Database schema and migrations
βββ types/ # TypeScript type definitions
βββ providers/ # React context providers
You can test the platform's core features using our sample RFP document. Upload the file to see how questions are automatically extracted. The resultant Excel file shows an example of the structured output the application generates.
π§Ύ Sample RFP Document: π₯ Download Sample RFP
π Resultant Excel File: π₯ Download Resultant Excel File
This project is licensed under the MIT License - see the LICENSE file for details.
If you want to get in touch or have any questions regarding this project, feel free to reach out:
π§ Email: bytebardderia@gmail.com πΌ LinkedIn: Ranit Deria π¦ Twitter: @DeriaRanit π» GitHub: @RanitDERIA
For any inquiries, suggestions, or bug reports, you can also:
- π Open an issue on GitHub
- π¬ Start a discussion in the repository
- π© Send a direct message via social media
β Star this repository if you find it helpful!
Made with β€οΈ by Ranit Deria

.png)
.png)
.png)
.png)
.png)