AgriSathi is a mobile-friendly web app built to help farmers with AI-assisted guidance, crop disease detection, and localized support in English and Hindi.
https://agrisathi-38zh.onrender.com
Core user flows:
- Authentication: Email login + Phone OTP login/signup
- AI Chatbot: Ask farming questions in English or Hindi
- Disease Detection: Upload/capture a crop image and get analysis + guidance
- Language Toggle: Switch the UI between English and Hindi
Farmer-first UI:
- Simple dashboard focused on Chatbot and Crop Scanner
- Clear toasts for success/errors
- Mobile-first layout
- Frontend: React, TypeScript, Vite
- UI: Tailwind CSS + shadcn/ui
- Routing: React Router
- Data/Auth: Supabase (email + phone OTP)
- APIs (optional/production):
- OpenWeather (weather)
- Plant.id (disease detection)
- Custom endpoints
src/
components/ UI components
contexts/ User/Auth, Language, Wallet contexts
pages/ Dashboard, Chat, Disease Detection
services/ API services
i18n/ translations
lib/ API adapters
- Node.js 18+
git clone https://github.com/lobsangshakya/AgriSathi-app.git
cd AgriSathi-app
npm install
cp .env.example .env
npm run devOpen in browser:
npm run build
npm run previewCreate a .env file based on .env.example.
Typical keys:
VITE_OPENWEATHER_API_KEY=
VITE_PLANT_ID_API_KEY=
VITE_AGRICULTURE_API_KEY=
VITE_API_BASE_URL=
VITE_AI_SERVICE_URL=
If using Supabase authentication, configure Supabase keys as required.
Supported:
- Email sign in / sign up
- Phone OTP sign in / sign up
- Logout clears session and returns to dashboard
Recommended settings:
- Build Command:
npm install && npm run build - Publish Directory:
dist
Ensure SPA routing fallback is configured for React Router.
- Build:
npm run build - Output:
dist - Enable SPA fallback
- Never commit real API keys
- Use environment variables in production
- Configure OTP/auth providers correctly
Common issues:
- i18n errors → check
src/i18n/translations.tsfor duplicates or stray commas - OTP not sending → verify Supabase settings
- Weather not loading → check browser location permissions
- Fork the repo
- Create a feature branch
- Commit changes
- Open a pull request
MIT