An innovative platform that bridges traditional Indian craftsmanship with modern AI technology, helping local artisans reach new digital audiences and preserve cultural heritage.
-
π Story Generation & Posting
- AI-generated compelling stories about artisans and their crafts
- Social media ready captions and product descriptions
- Personalized bios and marketing content
-
πΊοΈ Interactive Artisan Map
- Google Maps integration showing artisan locations
- Detailed artisan profiles with craft information
- Location-based discovery and recommendations
-
π€ Voice Story Creation
-
π¨ Design Enhancement Ideas
-
π¬ Video Script Generation
-
βοΈ Drawing to Art Analysis
- Python 3.11+
- Google Cloud Account
- Google AI API Key (Gemini)
- Google Maps API Key
- Google Cloud Project with Firestore enabled
-
Clone the repository
git clone https://github.com/yourusername/karigar.git cd karigar -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
cp config/env.example .env # Edit .env with your API keys -
Run the application
python start.py # OR python app.py -
Access the application Open your browser and go to
http://localhost:5000
Create a .env file with the following variables:
GOOGLE_AI_API_KEY=your_gemini_api_key_here
GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here
GOOGLE_CLOUD_PROJECT=your_project_id_here
FIRESTORE_PROJECT_ID=your_project_id_here-
Enable APIs
- Google AI API (Gemini)
- Google Maps JavaScript API
- Cloud Text-to-Speech API
- Cloud Firestore API
-
Create Service Account
- Download service account key
- Set
GOOGLE_APPLICATION_CREDENTIALSenvironment variable
karigar/
βββ π app.py # Main Flask application
βββ π start.py # Simple startup script
βββ π requirements.txt # Python dependencies
βββ π setup.py # Setup script
βββ π README.md # This file
βββ π config/ # Configuration files
β βββ env.example # Environment variables template
β βββ serviceAccount.json # Google Cloud service account
βββ π deployment/ # Deployment configurations
β βββ Dockerfile # Docker configuration
β βββ app.yaml # Google App Engine config
β βββ cloudbuild.yaml # Cloud Build configuration
βββ π docs/ # Documentation
β βββ PROJECT_OVERVIEW.md # Detailed project overview
βββ π static/ # Static assets
β βββ css/style.css # Custom styling
β βββ js/app.js # Frontend JavaScript
β βββ logo.png # Application logo
β βββ bg.mp4 # Background video
βββ π templates/ # HTML templates
βββ base.html # Base template
βββ index.html # Home page
βββ about.html # About page
βββ ai_tools.html # AI tools page
βββ artisan_map.html # Artisan map page
βββ home.html # Home page variant
βββ profile.html # Profile page
- Framework: Flask with CORS support
- AI Integration: Google Gemini API
- Database: Google Cloud Firestore
- Maps: Google Maps JavaScript API
- TTS: Google Cloud Text-to-Speech
- Framework: Vanilla JavaScript with Bootstrap 5
- Styling: Custom CSS with modern design
- Maps: Google Maps JavaScript API
- UI Components: Bootstrap modals and components
- Container: Docker
- Platform: Google Cloud Run
- CI/CD: Google Cloud Build
- Scaling: Automatic scaling based on CPU utilization
-
Generate Stories
- Fill in artisan information
- Select craft type
- Describe your product
- Get AI-generated story content
-
Create Voice Content
- Enter your story text
- Generate audio narration
- Download for social media
-
Enhance Designs
- Select your craft type
- Describe current design
- Get AI suggestions for improvements
-
Create Video Scripts
- Provide artisan and product details
- Select target platform
- Generate engaging video scripts
-
Discover Artisans
- Browse interactive map
- View artisan profiles
- Learn about traditional crafts
-
Explore Stories
- Read artisan stories
- Listen to voice narrations
- Connect with local craftspeople
POST /api/generate-story- Generate artisan storiesPOST /api/generate-voice- Convert text to speechPOST /api/enhance-design- Get design enhancement ideas
GET /api/artisans- Get all artisansGET /api/artisan/<id>- Get specific artisan
POST /api/generate-video-script- Generate video scriptsPOST /api/analyze-drawing- Analyze drawings for craft applications
GET /api/health- Application health status
-
Build and deploy using Cloud Build
gcloud builds submit --config deployment/cloudbuild.yaml
-
Manual deployment
# Build Docker image docker build -f deployment/Dockerfile -t gcr.io/PROJECT_ID/karigar . # Push to Container Registry docker push gcr.io/PROJECT_ID/karigar # Deploy to Cloud Run gcloud run deploy karigar --image gcr.io/PROJECT_ID/karigar --platform managed --region asia-south1 --allow-unauthenticated
Set the following environment variables in Cloud Run:
GOOGLE_AI_API_KEYGOOGLE_MAPS_API_KEYGOOGLE_CLOUD_PROJECT
-
Story Generation
- Test with different craft types
- Verify story quality and relevance
- Check social media caption generation
-
Voice Generation
- Test with various text lengths
- Verify audio quality
- Check different languages
-
Map Functionality
- Test artisan location display
- Verify marker interactions
- Check info window content
Use tools like Postman or curl to test API endpoints:
# Test story generation
curl -X POST http://localhost:5000/api/generate-story \
-H "Content-Type: application/json" \
-d '{"artisan_info": {"name": "Test Artisan"}, "craft_type": "Pottery", "product_description": "Handmade ceramic bowls"}'- Caching: API response caching
- Lazy Loading: Images and content loading
- Compression: Gzip compression for static assets
- CDN: Static asset delivery optimization
- Health Checks: Built-in health monitoring
- Logging: Comprehensive application logging
- Metrics: Performance and usage metrics
- CORS: Configured for specific origins
- Input Validation: All inputs are validated
- API Keys: Secure environment variable storage
- HTTPS: SSL/TLS encryption in production
- Never commit API keys to version control
- Use environment variables for sensitive data
- Implement rate limiting for API endpoints
- Regular security updates and patches
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Cloud for providing the AI and cloud infrastructure
- Traditional Artisans for preserving cultural heritage
- Open Source Community for the amazing tools and libraries
For issues and questions:
- Check the troubleshooting section above
- Review the code comments and documentation
- Create an issue in the project repository
- Contact the development team
- β Core AI tools implementation
- β Basic artisan mapping
- β Story generation
- β Voice synthesis
- π Advanced design analysis
- π Video generation
- π E-commerce integration
- π Multi-language support
- π AR/VR integration
- π Blockchain authentication
- π Advanced analytics
- π Mobile applications
Made with β€οΈ for preserving traditional Indian craftsmanship Made By:
- Karthik Janardhan | GitHub | LinkedIn
- Anushka Kotal | GitHub | LinkedIn
- Riya Vishwakarma | GitHub | LinkedIn
- Stash Lopes | GitHub | LinkedIn
"Empowering the backbone of India's Art culture through technology"










