How fantomstranger/innovasia works
Bol Kisan is a multilingual agricultural advice and extension-operations platform: farmers use the Android client for voice, crop-disease, and offline knowledge workflows; uncertain or escalated cases reach human officers through the dashboard. Backend APIs combine retrieval and AI with deterministic pesticide safety, while weather, market, and officer-directory services extend the advice. The graph includes the documented capabilities, but several endpoint and UI implementations were not sampled, so some subsystem links rely on the README rather than inspected calls.
Main entry points: router.py API route dispatch · BolKisanRepository.kt App repository · rag_service.py Knowledge retrieval · main.py Backend API
Components 26
Farmer Android
- Mobile navigation
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/MainActivity.kt - Farmer screens
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/presentation - App repository
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/data/repository/BolKisanRepository.kt - Offline knowledge
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/data/local/KnowledgePrepopulator.kt - Offline inference
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/domain/OfflineInferenceEngine.kt - Offline model manager
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/domain/OfflineModelManager.kt - Ticket sync
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/data/worker/SyncWorker.kt
API and Advice
- Backend API
backend/app/main.py - API route dispatch
backend/app/api/v1/router.py - Advice and voice
backend/app/api/v1/endpoints/voice.py - Disease diagnosis
backend/app/api/v1/endpoints/disease.py - Tickets and officers
backend/app/api/v1/endpoints/tickets.py - AI generation
backend/app/ai/gemini_service.py - Knowledge retrieval
backend/app/ai/rag_service.py - Query understanding
backend/app/ai/query_understanding.py - Crop vision engine
backend/app/ai/crop_vision_engine.py - Pesticide safety
backend/app/safety/pesticide_validator.py
Knowledge and Integrations
- Platform database
backend/app/database/models.py - Verified knowledge base
knowledge-base - Weather, mandi, officers
backend/app/integrations
Officer Operations
- Officer dashboard
apps/officer-dashboard/src/App.tsx - Case inspection
apps/officer-dashboard/src/pages/TicketDetail.tsx - CIBRC prescription builder
apps/officer-dashboard/src/components/CibrcPrescriptionBuilder.tsx
Other components
- Farmer
- External data services
- Extension officer
Connections 26
- Farmer → Mobile navigation: uses
- Mobile navigation → Farmer screens: navigates to
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/MainActivity.kt - Farmer screens → App repository: requests data
- App repository → Offline knowledge: reads and seeds
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/data/repository/BolKisanRepository.kt - App repository → Offline inference: runs offline advice
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/data/repository/BolKisanRepository.kt - Offline model manager → Offline inference: initializes
apps/farmer-android/app/src/main/java/com/bolkisan/farmer/domain/OfflineModelManager.kt - App repository → Backend API: calls API
- Ticket sync → Backend API: uploads pending tickets
- Backend API → API route dispatch: mounts routes
backend/app/main.py - API route dispatch → Advice and voice: dispatches voice
backend/app/api/v1/router.py - API route dispatch → Disease diagnosis: dispatches diagnosis
backend/app/api/v1/router.py - API route dispatch → Tickets and officers: dispatches tickets
backend/app/api/v1/router.py - Advice and voice → AI generation: generates advice
- Advice and voice → Knowledge retrieval: retrieves evidence
- Knowledge retrieval → Query understanding: uses query analysis
backend/app/ai/rag_service.py - Knowledge retrieval → Verified knowledge base: grounds responses
- Disease diagnosis → Crop vision engine: analyzes crop image
- Crop vision engine → Knowledge retrieval: retrieves disease evidence
backend/app/ai/crop_vision_engine.py - Crop vision engine → Pesticide safety: checks chemical advice
backend/app/ai/crop_vision_engine.py - Tickets and officers → Platform database: persists cases
- API route dispatch → Weather, mandi, officers: routes weather and market
- Weather, mandi, officers → External data services: fetches feeds
- Extension officer → Officer dashboard: triages cases
- Officer dashboard → Case inspection: opens case dossier
- Case inspection → CIBRC prescription builder: builds prescription
- Officer dashboard → Backend API: loads case operations