Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Professional solar lead management for door-knocking sales teams
Translation pending
BusinessTypeScript · JavaScriptGitHub @HappySolarCoderOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Lead management and solar scoring app for Happy Solar
Loading the full README. The saved excerpt is shown below.
Solar lead management system for door-knocking sales teams.
Raydar replaces expensive tools like Sales Rabbit with a modern, affordable solution built specifically for solar sales teams.Read the full README ↗Solar lead management system for door-knocking sales teams.
Raydar replaces expensive tools like Sales Rabbit with a modern, affordable solution built specifically for solar sales teams.
npm install
Create .env.local:
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Google APIs
NEXT_PUBLIC_GOOGLE_API_KEY=your_google_api_key
npm run dev
Open http://localhost:3000 to see the app.
npm run build
npm start
Automatically deploys to Vercel on push to main:
Live URL: https://happy-solar-leads.vercel.app/
app/
├── components/ # React components
│ ├── LeadMap.tsx # Interactive map
│ ├── LeadDetail.tsx # Lead detail panel
│ ├── AppMenu.tsx # Navigation menu
│ └── ...
├── types/ # TypeScript types
├── utils/ # Helper functions
│ ├── storage.ts # Firestore operations
│ └── firebase.ts # Firebase config
├── admin/ # Admin panel
├── territories/ # Territory management
└── page.tsx # Main app
Door-knock dispositions always save. GPS is optional: a missing fix or a distance past 50 meters is recorded (gpsVerified, gpsUnverifiedReason, gpsDistanceM) and does not block the disposition. Clients send gpsUnverifiedReason other only for a usable fix whose lead has no coordinates. A malformed fix is no_fix. Manual map pins still require the setter/manager to be within ~50 meters of the address. Admins and closers are not gated on pin creation.
A per-user override lives on the Firestore user doc:
users/{uid}.features.proximityEnforcement
true (default): manual map pins keep the 50m check. A door knock past 50m still saves, with gpsVerified false and gpsUnverifiedReason too_far.false: skip the pin-creation distance gate for that user only. Dispositions are not blocked either way./admin/users).users.name or email (the document ID is their Firebase Auth UID).features.proximityEnforcement to false (or delete the field / set true to restore the gate).William Breen: after this ships, waive proximity for his user (search Admin → Users or Firestore users for William Breen). This environment could not write his Firestore doc without admin credentials.
features.proximityEnforcement: false), open a lead far from your GPS and mark a door-knock disposition / drop a pin. It should save — no “not close enough” alert.true, do the same from far away. Disposition / pin create should be blocked with the existing distance alert.All logo files and brand guidelines are documented in:
/public/raydar-*.png (3 variations)BRAND-ASSETS.md - Complete usage guidelinesDESIGN-SYSTEM.md - Colors, typography, components/public/raydar-horizontal.png/public/raydar-icon.pngProprietary - Raydar (Happy Solar) Deploy trigger Fri Feb 20 18:22:06 MST 2026 Deploy test 2 Fri Feb 20 21:34:11 MST 2026