A modern, AI-powered business website featuring an intelligent chatbot, contact forms, and Discord integration. Built with FREE Gemini AI and deployed on Render.
- FREE Gemini 2.0 Flash API - No paid subscriptions!
- Real-time conversation with intelligent responses
- Conversation history tracking
- Pre-conversation contact form
- Discord notification on lead qualification
- Code syntax highlighting in chat
- Markdown rendering (headers, lists, links, code blocks)
- Typing indicators
- Message animations
- Mobile-responsive design
- Multi-step contact form
- Email validation
- Automatic Discord notifications
- Lead status tracking (interested, deal_confirmed, contact_requested)
- Glassmorphism effects
- Gradient animations
- Floating chat bubble with pulsing glow
- Smooth transitions
- Dark/light theme support
- Frontend: https://service-1-kqhn.onrender.com/
- Backend API: https://service-y5ld.onrender.com/
- Health Check: https://service-y5ld.onrender.com/health
vicky-ai-systems/
βββ backend/
β βββ backend.py # FastAPI server
β βββ requirements.txt # Python dependencies
β βββ .env # Environment variables (not in git)
β βββ render.yaml # Render deployment config
βββ frontend/
β βββ index.html # Main page
β βββ css/
β β βββ styles.css # All styling
β βββ js/
β β βββ script.js # Main logic + contact forms
β β βββ gemini-chatbot.js # AI chatbot functionality
β β βββ config.js # Frontend configuration
β βββ images/ # Assets
βββ tests/
β βββ test_api.sh # API testing script
βββ render.yaml # Main Render config
βββ .gitignore
βββ README.md
- FastAPI - Modern Python web framework
- Uvicorn - ASGI server
- Gemini AI - FREE Google AI API
- Discord Webhooks - Real-time notifications
- Python 3.10+
- Vanilla JavaScript - No framework dependencies
- HTML5 + CSS3 - Modern web standards
- Markdown Parser - Custom implementation with syntax highlighting
- Responsive Design - Mobile-first approach
- Render - Both frontend (static) and backend (web service)
- Docker - Containerized backend
- GitHub - Version control and CI/CD
- Python 3.10+
- Git
- Gemini API Key (free from Google AI Studio)
- Discord Webhook URL (optional)
- Clone the repository:
git clone https://github.com/algsoch/service.git
cd service- Backend Setup:
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Edit .env and add your API keys- Environment Variables (.env):
GEMINI_API_KEY=your_gemini_api_key_here
DISCORD_WEBHOOK=your_discord_webhook_url_here- Run Backend:
uvicorn backend:app --reload --port 8000- Run Frontend:
cd ../frontend
python -m http.server 5500- Open in browser:
- Frontend: http://localhost:5500
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Run the automated test suite:
# Test all endpoints
bash tests/test_api.sh
# Test specific endpoint
curl https://service-y5ld.onrender.com/health
curl -X POST https://service-y5ld.onrender.com/api/chat-gemini \
-H "Content-Type: application/json" \
-d '{"message":"Hello!","conversation_history":[]}'- Go to Render Dashboard
- New Web Service β Connect GitHub repo:
algsoch/service - Configure:
- Root Directory:
backend - Build Command:
pip install -r requirements.txt - Start Command:
uvicorn backend:app --host 0.0.0.0 --port $PORT
- Root Directory:
- Add Environment Variables:
GEMINI_API_KEYDISCORD_WEBHOOK
- Deploy!
-
New Static Site β Connect same GitHub repo
-
Configure:
- Root Directory:
frontend - Build Command: (leave empty)
- Publish Directory:
.
- Root Directory:
-
Deploy!
-
Update
frontend/js/config.jswith your backend URL and redeploy.
GET /health
Response: {"status":"healthy","timestamp":"2025-11-19T..."}POST /api/chat-gemini
Body: {
"message": "Hello!",
"conversation_history": []
}
Response: {
"response": "AI response here",
"conversation_id": "conv_123...",
"timestamp": "2025-11-19T..."
}POST /api/send-to-discord
Body: {
"conversation_history": [{"role": "user", "content": "..."}],
"user_email": "user@example.com",
"user_phone": "+1234567890",
"deal_status": "interested"
}
Response: {
"success": true,
"message": "Perfect! β
I've sent your conversation..."
}- Swagger UI: https://service-y5ld.onrender.com/docs
- ReDoc: https://service-y5ld.onrender.com/redoc
- β API keys stored in backend environment variables only
- β Frontend NEVER accesses API keys directly
- β All AI requests proxied through backend
- β CORS configured to allow all origins
- β Input validation with Pydantic models
- β No sensitive data in Git repository
- Clean, documented code
- Type hints throughout
- Error handling with fallbacks
- Comprehensive logging
- Easy to extend and customize
- Fast response times (Gemini 2.0 Flash)
- Natural conversation flow
- Mobile-friendly interface
- Accessible design
- No installation required
- Backend Response Time: < 2 seconds
- Frontend Load Time: < 1 second
- Uptime: 99.9% (Render free tier)
- Cost: $0/month (100% FREE!)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Vicky Kumar
- Email: npdimagine@gmail.com
- Phone: +91 83838 48219
- GitHub: @algsoch
- LinkedIn: algsoch
- Google Gemini AI - FREE AI API
- FastAPI - Modern Python web framework
- Render - Easy deployment platform
- Discord - Webhook notifications
If you have any questions or need help, feel free to:
- Open an issue on GitHub
- Email: npdimagine@gmail.com
- Chat with the AI on the live website!
β Star this repo if you find it helpful! β