Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗An AI-powered CRM that scores every lead 0–100, tells your reps who to call today, and schedules the follow-ups for them.
Live demo: https://lead-flow-ai-six.vercel.app/ — click Try demo to explore a fully seeded workspace without signing up, or sign up with any email to start your own.
LeadFlow AI is a multi-tenant sales CRM. Add leads, and Google Gemini scores each one on how likely it is to close, explains why, writes a next-best-action from the lead's activity history, and picks the handful of leads worth a rep's time today. A drag-and-drop pipeline, rule-based follow-up automation, analytics, team workspaces and Stripe billing round it out.
The whole stack runs on free tiers: Neon Postgres, the Gemini API free key, Vercel Hobby, and Stripe test mode, which you can skip entirely (billing then runs in demo mode).
| Area | What you get |
|---|---|
| Dashboard | Stat cards (hot leads, open pipeline value, average score, win rate), an AI "Focus today" digest, and a priority-leads list |
| Leads | Searchable lead table with stage filter; add leads (name, company, title, email, phone, source, deal value, notes) |
| Lead profile | AI score badge with priority (Hot / Warm / Cold) and reasons, Score / Re-score with AI, AI customer insight + next action, edit details and owner, stage selector, activity timeline, log notes / emails / calls, linked follow-ups, delete |
| Pipeline | Drag-and-drop kanban (@dnd-kit) across New → Contacted → Qualified → Won / Lost; moving a card triggers automations |
| Follow-ups | Every follow-up in the workspace grouped into Overdue / Upcoming / Done, tick to complete |
| Analytics | Stage funnel (count and value), lead-source mix, score distribution, 8-week created-vs-won trend, totals and win rate (Recharts) |
| Team | Member list with roles (Owner / Admin / Member), invite by email with a role |
| Billing | Starter (free) / Team ($79) / Agency ($199) plans via Stripe Checkout + Customer Portal, or instant demo mode with no Stripe keys |
| Settings | Workspace name and brand colour |
| Marketing site | Landing page with hero, feature cards, before/after, social proof, pricing, FAQ and CTA, animated with motion |
| Layer | Choice |
|---|---|
| Framework | Next.js 16 (App Router, Route Handlers, proxy.ts), React 19, TypeScript 5 |
| Styling | Tailwind CSS v4, Radix UI primitives, class-variance-authority, motion, lucide-react, sonner toasts |
| Database | Neon serverless Postgres, Prisma 7 via @prisma/adapter-neon (WebSocket driver) |
| Auth | Auth.js (NextAuth v5), Credentials provider, bcrypt (12 rounds), JWT sessions |
| AI | Vercel AI SDK (ai, @ai-sdk/google), Gemini gemini-flash-latest, structured output with generateObject + zod |
| Data fetching | TanStack Query against the app's own Route Handlers |
| Charts / DnD | Recharts, @dnd-kit/core |
| Payments | Stripe Checkout, Billing Portal and webhooks (test mode), with a demo-mode fallback |
git clone <this-repo-url> leadflow-ai
cd leadflow-ai
npm install # also runs `prisma generate` (postinstall)
.envCreate a .env file in the project root (see Environment variables
for every key):
# Neon → Connect → copy the pooled connection string
DATABASE_URL="postgresql://user:[email protected]/neondb?sslmode=require"
# openssl rand -base64 32
NEXTAUTH_SECRET="replace-with-a-random-secret"
NEXTAUTH_URL="http://localhost:3000"
# https://aistudio.google.com/apikey (free)
GOOGLE_GENERATIVE_AI_API_KEY=""
# Optional: leave blank for demo billing mode
STRIPE_SECRET_KEY=""
STRIPE_WEBHOOK_SECRET=""
STRIPE_PRICE_TEAM=""
STRIPE_PRICE_AGENCY=""
NEXT_PUBLIC_APP_URL="http://localhost:3000"
Without GOOGLE_GENERATIVE_AI_API_KEY everything else still works; the AI
score, insight and focus features return a clear "AI is not configured" message
instead of crashing.
The repo ships a Prisma migration (prisma/migrations/…_init). Apply it:
npx prisma migrate deploy
npm run dev
Open http://localhost:3000, sign up, name your workspace on the onboarding screen, and add your first lead. Open the lead and click Score with AI to run Gemini on it.
This is the beginning of the README. Read the rest at the original. Read the full README ↗