A powerful AI-driven business proposal generator that helps professionals create compelling proposals in minutes, not hours. Built with React, Express, PostgreSQL, and Google's Gemini AI API.
ProposalAI is a comprehensive web application designed for consultants, analysts, and business professionals who need to generate professional proposals quickly and efficiently. The platform combines customizable templates with Google's Gemini AI to create tailored, high-quality business proposals.
- Google Gemini Integration: Leverage advanced AI to generate compelling proposal content
- Intelligent Content Creation: AI understands context and creates professional, industry-specific proposals
- Multiple Tone Options: Professional, casual, or persuasive writing styles
- Pre-built Templates: Ready-to-use templates for various industries and proposal types
- Custom Templates: Create and manage your own reusable proposal templates
- Dynamic Placeholders: Smart variable replacement for personalized proposals
- Role-based Access: Templates shared based on user permissions
- Analyst: Full access to create templates, generate proposals, and manage content
- Consultant: Access to assigned proposals and shared templates
- Product Manager: Administrative oversight and team management
- PDF Export: Generate professional PDF documents ready for client presentation
- DOCX Export: Create Microsoft Word documents for further editing
- Client-side Processing: Fast, secure export without server dependencies
- Role-based Authorization: Granular permissions based on user roles
- Session Management: Persistent sessions with PostgreSQL storage
- Business Guidance: Get advice on proposal writing and business strategy
- Industry Insights: Industry-specific recommendations and best practices
- Template Suggestions: AI-powered recommendations for template improvements
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Radix UI for accessible components
- React Hook Form with Zod validation
- TanStack Query for server state management
- Node.js with Express.js
- TypeScript with ES modules
- Drizzle ORM for type-safe database operations
- PostgreSQL with Neon serverless
- Express Sessions for authentication
- Google Gemini 2.5 Flash for AI content generation
- Replit Auth for authentication
- html2canvas + jsPDF for PDF export
- docx library for Word document generation
- Node.js 18+ installed
- Access to Google Gemini API
-
Clone the repository
git clone <your-repo-url> cd proposal-ai
-
Install dependencies
npm install
-
Environment Setup Set up your environment variables in Replit Secrets:
DATABASE_URL: Your PostgreSQL connection stringGEMINI_API_KEY: Your Google Gemini API keySESSION_SECRET: A secure random string for session encryption
-
Database Setup
npm run db:push
-
Start the development server
npm run dev
-
Access the application Open your browser and navigate to the provided Replit URL or
http://localhost:5000 -
Build the application
npm run build
-
Start production server
npm start
- Login using your Replit account
- Select a Template from the pre-built options or create your own
- Fill in Details: Client name, industry, services, objectives, timeline, and budget
- Generate Proposal: Click "Generate AI Proposal" to create your content
- Review & Export: Review the generated proposal and export as PDF or DOCX
- Navigate to Templates page
- Create New Template: Use markdown with placeholders like
{{clientName}} - Edit Existing: Modify templates to fit your needs
- Share Templates: Templates are automatically shared based on user roles
- Access the AI Chat feature from any page
- Ask questions about proposal writing, industry practices, or get template suggestions
- Receive professional guidance and actionable advice
├── client/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions
│ │ └── contexts/ # React contexts
├── server/ # Express.js backend
│ ├── routes.ts # API route definitions
│ ├── storage.ts # Database operations
│ ├── gemini.ts # AI integration
│ └── localAuth.ts # Authentication setup
├── shared/ # Shared TypeScript schemas
└── README.md
GET /api/user- Get current user informationGET /api/templates- Fetch user templatesPOST /api/templates- Create new templateGET /api/proposals- Fetch user proposalsPOST /api/proposals/generate- Generate new proposalPOST /api/chat- AI chat interaction