Skip to content

Claude/lystr leadgen scout z nuz g - #2

Open
perclingweld2 wants to merge 5 commits into
fltman:mainfrom
perclingweld2:claude/lystr-leadgen-scout-zNuzG
Open

Claude/lystr leadgen scout z nuz g#2
perclingweld2 wants to merge 5 commits into
fltman:mainfrom
perclingweld2:claude/lystr-leadgen-scout-zNuzG

Conversation

@perclingweld2

Copy link
Copy Markdown

No description provided.

Complete implementation of a lead generation and qualification system for
Lystr's Energy-as-a-Service (EaaS) offering in the Swedish market.

Features:
- Prospecting Dashboard with AI-powered lead scoring (0-100)
- 200+ synthetic leads with realistic Swedish data (no real persons)
- Explainable scoring based on weighted factors (bill, roof, EV, etc)
- Personalized call scripts generated for each lead
- Lead Configurator as a lead magnet with instant recommendations
- Sales Assistant for analyzing notes and generating follow-ups
- Optional LLM integration (Gemini/OpenAI) with rule-based fallback

Tech Stack:
- Next.js 15 (App Router) with TypeScript
- SQLite (better-sqlite3) for local data storage
- Tailwind CSS for styling
- Server-side rendering for performance

Data Model:
- Leads: scoring, intent signals, property data, contact info
- Interactions: calls, emails, meetings with objection tracking
- Campaigns: channel performance metrics

Architecture:
- Frontend: React components with Swedish UI/copy
- Backend: Next.js API routes
- Database: SQLite with synthetic data generator
- AI: Rule-based scoring + optional LLM enhancement

All data is synthetic - no real persons, addresses, or contact info used.

Ready for demo with 5-minute walkthrough script included in README.
- Added mobile menu button (hamburger icon) visible on small screens
- Menu toggles open/close with smooth transition
- Added emojis to mobile menu items for better UX
- Auto-closes menu when clicking a link
- Maintains desktop navigation unchanged
- Remove 'signed' leads from dropdown (they're already closed)
- Only show active leads (new, contacted, meeting_booked, site_visit, offer_sent)
- This ensures dropdown is populated with relevant leads for sales notes
Configurator fixes:
- Use default values for empty contact fields (name, phone, email)
- Prevents database errors when user skips contact info
- Defaults: 'Anonym Besökare', '070-000 00 00', 'anonymous@example.com'

Dashboard mobile fixes:
- Stack filter buttons vertically on mobile (flex-col sm:flex-row)
- Reduce 'Generera Ringningslista' button text size on mobile
- Prevent button text overflow on small screens
- Maintain desktop layout on larger screens
- Check if database is empty before loading leads
- Auto-generate 200 synthetic leads on first request
- Ensures data directory exists before creating DB
- No more manual /api/init visits required
- Data persists across deploys when Railway volume is configured
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants