Description
When a new farmer or researcher visits Agri-Vision for the first time, there is no guided onboarding experience to help them understand the platform. The landing page shows features but doesn't walk users through the core workflow: uploading an image, viewing analysis results, interpreting disease predictions, and accessing recommendations.
A first-time user may feel overwhelmed by the number of features and navigation options without a clear starting point.
Steps to Reproduce
- Visit the Agri-Vision web app as a new (unregistered) user
- Landing page shows the hero section, features cards, and navbar
- There is no welcome modal, tooltip tour, or guided walkthrough
- Users must explore the platform on their own with zero guidance
Expected Behavior
- Onboarding Modal: Show a welcome modal on first visit with a "Start Tour" button and a "Skip" option
- Step-by-Step Tour: A 4–5 step highlighted tour that walks through:
- Upload page — how to upload a crop image
- Analysis results — how to read disease/health scores
- Grad-CAM heatmap — how to interpret model focus areas
- Recommendations — how to view treatment suggestions
- History & reports — how to track past analyses
- Persistence: Use
localStorage to remember that the tour has been completed, so it doesn't show again
- Replay Option: Add a "Help / Take Tour" link in the navbar footer or user menu
Implementation Hints
Frontend — Use a lightweight tour library or plain JS/CSS:
<!-- Add to base.html or index.html -->
<div id="onboarding-overlay" class="hidden fixed inset-0 bg-black/50 z-50">
<div id="tour-step" class="absolute bg-white rounded-xl shadow-2xl p-6 max-w-sm">
<h3 class="text-lg font-bold mb-2" id="tour-title">Welcome to Agri-Vision!</h3>
<p class="text-sm text-gray-600 mb-4" id="tour-description">Let us show you around.</p>
<div class="flex justify-between">
<button onclick="skipTour()" class="text-sm text-gray-500">Skip</button>
<button onclick="nextStep()" class="px-4 py-2 bg-indigo-600 text-white rounded-lg text-sm">Next</button>
</div>
</div>
</div>
JavaScript (static/js/onboarding.js):
const STORAGE_KEY = "agrivision_tour_completed";
const tourSteps = [
{ title: "Upload Image", desc: "Click 'Upload' to analyze your crop photo.", target: "#upload-link" },
{ title: "View Results", desc: "See disease detection, growth stage, and health scores.", target: "#results-section" },
{ title: "Recommendations", desc: "Get AI-powered treatment suggestions.", target: "#recommendations" },
{ title: "Track History", desc: "Access your past analyses from the Dashboard.", target: "#dashboard-link" }
];
function startTour() {
if (localStorage.getItem(STORAGE_KEY)) return;
showStep(0);
}
function showStep(index) { /* highlight target, position tooltip */ }
function completeTour() { localStorage.setItem(STORAGE_KEY, "true"); hideOverlay(); }
Affected Files
templates/base.html (add onboarding overlay)
static/js/onboarding.js (new)
static/css/style.css (add tour styling)
Labels
type:feature, level:intermediate, type:design
Description
When a new farmer or researcher visits Agri-Vision for the first time, there is no guided onboarding experience to help them understand the platform. The landing page shows features but doesn't walk users through the core workflow: uploading an image, viewing analysis results, interpreting disease predictions, and accessing recommendations.
A first-time user may feel overwhelmed by the number of features and navigation options without a clear starting point.
Steps to Reproduce
Expected Behavior
localStorageto remember that the tour has been completed, so it doesn't show againImplementation Hints
Frontend — Use a lightweight tour library or plain JS/CSS:
JavaScript (
static/js/onboarding.js):Affected Files
templates/base.html(add onboarding overlay)static/js/onboarding.js(new)static/css/style.css(add tour styling)Labels
type:feature,level:intermediate,type:design