Skip to content

algsoch/freelancer.com

Repository files navigation

AI Bid Writer Agent

An intelligent AI agent with a beautiful web interface that analyzes freelance project descriptions and generates winning bids automatically. Now powered by Google Gemini (FREE!) by default!

🎯 Features

  • πŸ€– AI-Powered Analysis: Uses Google Gemini, GPT-4, or Claude for intelligent bid generation
  • πŸ†“ FREE by Default: Google Gemini API is free and powerful (no credit card required!)
  • πŸ’» Modern Web UI: Beautiful React interface with real-time bid generation
  • ✨ Smart Mode: Just paste the entire project page - automatic extraction of all details
  • πŸ“Š Live Extraction Process: See real-time progress as your bid is being generated
  • 🎯 Skill Matching: Automatically highlights relevant experience
  • πŸ“ˆ Bid Optimization: AI-powered suggestions to improve your bids
  • πŸš€ One-Click Copy: Copy generated bids instantly to clipboard
  • πŸ“± Fully Responsive: Optimized for desktop, tablet, and mobile (even 360px screens!)

πŸ—οΈ Project Structure

ai_chatbot/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ main.py                    # FastAPI server
β”‚   └── requirements.txt           # Python dependencies
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ BidGenerator.jsx  # Main UI component
β”‚   β”‚   β”‚   └── BidGenerator.css  # Styles
β”‚   β”‚   β”œβ”€β”€ App.jsx
β”‚   β”‚   └── App.css
β”‚   └── package.json
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ llm_client.py         # LLM integration (OpenAI/Anthropic)
β”‚   β”‚   └── config.py             # Configuration management
β”‚   └── agents/
β”‚       β”œβ”€β”€ bid_generator.py       # Main bid generation logic
β”‚       β”œβ”€β”€ analyzer.py            # Project description analyzer
β”‚       └── optimizer.py           # Bid optimization strategies
β”œβ”€β”€ setup.sh                       # Automated setup script
β”œβ”€β”€ start.sh                       # Start both frontend & backend
β”œβ”€β”€ .env.example                   # Environment variables template
└── README.md

πŸš€ Quick Start

Automated Setup (Recommended)

# Make scripts executable
chmod +x setup.sh start.sh

# Run setup (one time only)
./setup.sh

# Get your FREE Gemini API key from: https://makersuite.google.com/app/apikey
# Configure your API key
nano .env  # or use any text editor

# Start the application
./start.sh

The app will open at:

πŸ“– How to Use

Smart Mode (Recommended - Zero Effort!)

  1. Copy entire project page from Freelancer/Upwork
  2. Paste everything into the textarea
  3. Click "Preview Extraction" to see extracted details (budget, bids, client info)
  4. Watch the extraction process in real-time (6 steps with animations!)
  5. Click "Generate Bid" - done! πŸŽ‰

The system automatically extracts:

  • πŸ’° Budget range
  • πŸ“Š Number of bids
  • πŸ“ Client location
  • ⏰ Time remaining
  • πŸ“ Project description
  • Everything else needed!

Manual Mode (For Custom Control)

  • Project Name: Copy from the freelance platform
  • Project Description: Paste the full project description
  • Optional Fields: Add bid rank, total bids, and pricing for better optimization

Review Results

The app will show:

  • βœ… Generated Bid: Professional bid text ready to copy
  • πŸ“Š Project Analysis: Type, skills required, complexity
  • 🎯 Skill Matching: Which of your skills match the project
  • πŸ’‘ Optimization Tips: Suggestions to improve win rate
  • πŸ“ˆ Win Probability: Estimated chance of winning

Copy and Submit

Click "πŸ“‹ Copy" and paste the bid into your freelance platform!

πŸ€– AI Provider Options

Google Gemini (Default - FREE!)

βœ… Recommended for everyone

AI_PROVIDER=gemini
GEMINI_API_KEY=your_key_here

OpenAI GPT-4 (Paid Alternative)

  • πŸ’° Requires paid API key
  • Most powerful option
  • Good for complex projects
AI_PROVIDER=openai
OPENAI_API_KEY=your_key_here

Anthropic Claude (Paid Alternative)

  • πŸ’° Requires paid API key
  • Excellent reasoning
  • Good for detailed analysis
AI_PROVIDER=anthropic
ANTHROPIC_API_KEY=your_key_here

πŸ“± Responsive Design

Fully optimized for all screen sizes:

  • πŸ–₯️ Desktop: Full-width, multi-column layouts
  • πŸ’» Laptop: 1024px+ screens
  • πŸ“± Tablet: 768px - 1024px
  • πŸ“± Mobile: 480px - 768px
  • πŸ“± Small Mobile: 360px - 480px
  • πŸ“± Extra Small: Even 360px screens!

Configuration

Edit .env file:

# Choose AI provider
AI_PROVIDER=openai  # or anthropic

# Add your API key
OPENAI_API_KEY=sk-...

# Customize your profile
YOUR_NAME=Your Name
YOUR_GITHUB=https://github.com/yourusername
YOUR_SKILLS=Python,JavaScript,AI,ML

🧠 How It Works

1. Project Analysis

The AI analyzes the project description to extract:

  • Project type and complexity
  • Required skills and technologies
  • Key requirements and deliverables
  • Estimated budget range

2. Skill Matching

Compares your skills (from config) with project requirements:

  • Calculates skill match percentage
  • Identifies your relevant experience
  • Determines confidence score

3. Bid Generation

Creates a personalized, professional bid:

  • Tailored to specific project requirements
  • Includes relevant sample work
  • Professional but approachable tone
  • Optimal length (100-250 words)

##πŸ’‘ Tips for Winning Bids

Based on analysis of winning vs. losing bids:

βœ… DO:

  • βœ“ Keep bids concise (3-5 short paragraphs)
  • βœ“ Include sample work or demo links when relevant
  • βœ“ State specific delivery timeline
  • βœ“ Show confidence without overselling
  • βœ“ Mention immediate availability
  • βœ“ Address the client's specific requirements
  • βœ“ Use concrete examples from your experience

❌ DON'T:

  • βœ— Write overly long proposals (>300 words)
  • βœ— Apply to projects outside your expertise
  • βœ— Use generic templates without customization
  • βœ— Ignore specific tools/requirements mentioned
  • βœ— Under-price significantly (damages credibility)
  • βœ— Make promises you can't deliver

πŸ› Troubleshooting

"LLM client not configured" error:

  • Check that your .env file exists in the root directory
  • Verify your API key is correct
  • Make sure AI_PROVIDER matches your key (openai or anthropic)

Frontend can't connect to backend:

  • Ensure backend is running on port 8000
  • Check for CORS errors in browser console
  • Verify both services are running

"Module not found" errors:

  • Backend: Make sure you ran pip install -r backend/requirements.txt
  • Frontend: Make sure you ran npm install in the frontend directory

πŸ“ License

MIT License - feel free to customize for your needs.

🀝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest features
  • Submit pull requests
  • Improve documentation

Built with curiosity by Vicky Kumar

  1. Go to https://platform.openai.com/api-keys
  2. Create a new API key
  3. Add to .env as OPENAI_API_KEY

Anthropic (Alternative):

  1. Go to https://console.anthropic.com/
  2. Generate an API key
  3. Add to .env as `ANTHROPIC_API_KEY Tips for Winning Bids

Based on analysis of My winning vs. losing bids:

βœ… DO:

  • Keep bids concise (3-5 short paragraphs)
  • Provide sample work or demo links
  • State specific delivery timeline
  • Show confidence without overselling
  • Mention immediate availability

❌ DON'T:

  • Write overly long proposals
  • Apply to projects outside your expertise
  • Use generic templates without customization
  • Ignore the client's specific requirements
  • Under-price significantly (damages credibility)

Future Enhancements

  • Real-time Upwork/Freelancer integration
  • A/B testing different bid strategies
  • Automatic bid success tracking
  • Multi-language support
  • Budget recommendation engine

License

MIT License - feel free to customize for your needs.

About

AI Bid Writer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published