Satyam 205ada99e9 feat(leads): Lead Creation Phase 4 — Property section with address, state select, and photo upload
- LeadPropertySection: Street Address (with pin icon), City/State/ZIP row (flex layout, ZIP auto-strips non-digits to 5 chars, state defaults to TX), Property Type dropdown and Site Photos (Full Form only, animate in/out)
- Photo upload: dashed zone with Camera + Image icons, hover highlight in emerald, hidden file input with capture=environment (opens camera on mobile), multiple selection allowed
- Thumbnails: 4-col grid, spring scale-in animation, hover overlay with X to remove individual photos
- Focus ring accent changed to emerald to match section color identity (blue=contact, emerald=property)
- CreateLeadPage: propertyPhotos added to INITIAL_FORM, sectionCompletion.property live (address + city required), LeadPropertySection wired into renderSectionContent
2026-03-13 16:22:54 +05:30

LynkedUpPro CRM — Field Sales & Territory Management Platform

The Next Generation of Roofing Sales & Dispatch Management

LynkedUpPro CRM is an advanced, data-driven platform for roofing and real estate canvassing teams. Field agents knock doors and log leads on mobile, admins dispatch reps from the office, and owners get a real-time command center — all in one app.

Current branch: revamp — complete UI/UX overhaul in progress.


🏛️ PRODUCT OVERVIEW

Value Proposition

  • Precision Targeting: Identify "Golden Leads" (older, high-value homes) instantly on a map.
  • AI-Powered Dispatch: LynkDispatch AI scores and recommends rep assignments in real-time.
  • Gamified Field Performance: ProCanvas turns door-knocking into a game — XP, streaks, leaderboards, daily missions.
  • Intelligent Lead Capture: Mobile-optimized lead creation with Quick Capture for the door, Full Form for the office.

🎨 KEY FEATURES

ProCanvas — Gamified Agent Dashboard

  • FIFA-style player card with XP bar, streak tracker, and rank badge
  • Log Action hub (Door Knocked, Lead Gained, Appointment, Client Meet)
  • Daily Missions with Energy Bars, Weekly Challenge with progress tracking
  • Live event cards: Showdown, Hot Streak, Weekly Objective
  • Rewards & Checkpoints milestone track
  • Badges & Achievements trophy room
  • Dual design identity: Light mode (energetic/clean — solid colored header banners on white cards) and Dark mode (neon/glass arcade aesthetic) — distinct, never washed-out

Estimate Builder

  • Section → Group → Item hierarchy
  • Material Details Modal (measurement → waste → qty → cost → price formula)
  • Measurements Modal for detailed takeoffs
  • Financial Summary sidebar with adjustable margin slider
  • Full light/dark theme support

LynkDispatch AI (investor demo — in development)

  • 3-panel command center: Lead Queue + Map + AI Recommendation Drawer
  • Rep scoring with proximity, drive time, calendar fit, weather, and skill factors
  • Storm Mode — full UI shift to amber, storm path on map, weather-aware recommendations
  • KPI bar with animated metrics (leads in queue, assigned today, response time, storm alerts)

Lead Creation Page (in development)

  • Quick Capture (7 fields) for agents at the door, Full Form for office
  • 5 color-coded sections: Contact (blue), Property (emerald), Job Details (amber), Insurance (purple), Assignment (cyan)
  • Role-aware: agents get simplified assignment, admins/owners get Smart Assign with rep scoring
  • Mobile-first, works beautifully on tablet and desktop too

Maps & Territory

  • Interactive Leaflet map with color-coded property polygons
  • Reverse geocoding to create properties from map clicks
  • Rep location overlays and lead clustering (in development)

Admin Action Center

  • Unassigned lead queue — zero leakage
  • Smart agent assignment modal
  • Urgency counters and pending signatures tracking

Owner's Box

  • Financial KPIs (revenue, spend, health score)
  • Project command center with change orders and budget vs. actuals
  • People, vendor, and document management

👥 USER ROLES & DEMO ACCOUNTS

Password for ALL accounts: password

Role Account ID Description
Field Agent FA001 FA005 Door knocking, lead logging, ProCanvas
Admin ADM01 ADM03 Action center, dispatch, leaderboard
Owner OWN01, OWN02 Full platform access, owner snapshot
Contractor CON01 Project and task management
Vendor VEN01 Orders and invoices
Subcontractor SUB01 Work scope and tasks
Customer alice, bob, charlie Customer portal

💻 DEVELOPER GUIDE

Tech Stack

  • Frontend: React 19 (Vite), Tailwind CSS (darkMode: 'class')
  • State: MockStore (simulates backend), AuthContext (RBAC), ThemeContext (light/dark), GamificationContext (XP/streaks)
  • Routing: React Router v7 with ProtectedRoute (role-based)
  • Animations: Framer Motion (page transitions, stagger entrances, height animations)
  • Maps: react-leaflet (Leaflet.js)
  • Charts: Recharts (bar, area, pie, scatter)
  • Icons: lucide-react
  • AI: Groq SDK (qwen-32b) with dynamic role-aware system prompts
  • Notifications: sonner (toasts)
  • Smooth Scroll: Lenis

Setup

  1. Clone: git clone <repo>
  2. Install: pnpm install
  3. Env: Create .env with VITE_GROQ_API_KEY and VITE_OPENWEATHER_API_KEY
  4. Run: pnpm run dev

Design System

  • Dark mode: Glass panels (bg-zinc-900/70 backdrop-blur-xl), neon accents, Barlow Condensed uppercase
  • Light mode: White cards (bg-white shadow-md), solid colored header banners, bg-zinc-100/80 page background
  • Theme controlled via useTheme() from src/context/ThemeContext.jsx
  • All components use dark: Tailwind variants — no JS theme switching per-element needed

📁 Project Structure (Abbreviated)

src/
├── pages/            # Route-level pages by role
├── components/
│   ├── estimates/    # EstimateBuilder modals (MaterialDetails, Measurements, etc.)
│   ├── leads/        # Lead creation form components (in development)
│   ├── dispatch/     # LynkDispatch AI panels (in development)
│   ├── dashboard/    # Admin dashboard widgets
│   ├── ProCanvas/    # Gamification subcomponents
│   └── ...           # Shared components (Layout, AnimatedCounter, etc.)
├── context/          # AuthContext, ThemeContext, GamificationContext
├── data/             # mockStore.jsx — central data layer
└── hooks/            # useGamification, custom hooks

Maintained by Satyam Rastogi | Branch: revamp | Last updated: March 12, 2026

S
Description
No description provided
Readme 89 MiB
Languages
JavaScript 98.8%
TypeScript 1%
CSS 0.2%