Release notes

What's new

Every shipped change to the SimpliLeads dashboard. No silent updates.

v1.1.0

2026-05-21
  • added

    Google OAuth sign-in with approved-email allowlist

    system

    Added next-auth Google provider. Allowlist (lib/auth.ts): thefirmla@gmail.com, simplileads@gmail.com, and any *@digitalboutique.ai address. The signIn callback rejects non-approved emails before the adapter touches the DB. First-time digitalboutique.ai sign-ins default to role dbai; thefirmla / simplileads default to admin. /sign-in/error renders a friendly message for blocked accounts. Magic-link email remains as a fallback.

v1.0.1

2026-05-21
  • added

    Production deploy live on Vercel

    system

    Vercel project digitalboutique/simplileads-final deployed to https://simplileads-final.vercel.app. DATABASE_URL, AUTH_SECRET, AUTH_URL, and CRON_SECRET set in production env; remaining integration credentials (BatchDialer, GHL, Calendly, Stripe, Anthropic, transcription) still pending — dependent panels render AwaitingConnection until each lands.

v1.0.0

2026-05-21
  • added

    Phase 1 handoff: client portal disputes, admin resolution, cross-source reconciliation, tenancy isolation tests

    system

    Admin Disputes + Reconcile pages. Cross-source reconciliation snapshot exposes dashboard-side counts beside upstream totals so a 24h drift is obvious. Tenancy test (pnpm test:tenancy) creates ephemeral clients and asserts cross-tenant lead access is impossible, the dispute-filing tenancy guard catches cross-tenant leadIds, and the leaderboard_rankings table exposes no client names. pnpm build green; pnpm typecheck clean.

v0.6.0

2026-05-21
  • added

    Track D: client portal (ROI, leads, leaderboard, disputes, build status)

    client

    Tenant-scoped portal pages. ROI panel reads GHL won-value vs client spend. Live qualified-lead feed shows the 10 most recent leads with score and delivery latency. Anonymized leaderboard surfaces rank and percentile only — never competitor names. Dispute flow validates the lead belongs to the authed client before insert. Build-status widget reads from build_phases / deliverables / milestones.

v0.4.0

2026-05-21
  • added

    Track B: AI quality engine (transcription + Claude scoring)

    system

    Pluggable transcription provider (Deepgram default, AssemblyAI alt). Claude scoring pipeline uses prompt caching on the SimpliLeads rubric (qualification/compliance/script-adherence/tone, 0-100). Cron picks unscored calls every 2 min and chains qualified leads into the GHL delivery flow. Coverage climbs toward 100% once ANTHROPIC_API_KEY + TRANSCRIPTION_API_KEY are set.

v0.3.0

2026-05-21
  • added

    Track A: lead-delivery pipeline (BatchDialer + GHL + Calendly + Stripe)

    system

    BatchDialer cron poller, GHL outbound delivery with sub-60s latency logging, GHL inbound webhook for pipeline updates, Calendly invitee webhook, and Stripe subscription/invoice webhook. Every integration falls back to AwaitingConnection while its credentials are missing; sync_jobs records every run. vercel.json declares the cron schedule.

v0.2.0

2026-05-21
  • added

    Schema migrations applied + changelog helper live

    system

    Drizzle migrations applied to Neon; integrations + sync_jobs + changelog_entries tables live. recordChangelogEntry helper writes the DB row and appends CHANGELOG.md in one call. /changelog renders entries from the live database.

v0.1.0

2026-05-21
  • added

    Project scaffold, schema, auth, and design system

    system

    Initial scaffold of the SimpliLeads Live Operations Dashboard: Next.js + Drizzle + Neon, magic-link auth (admin/dbai/client roles), and the SimpliLeads Cobalt + DBAI dark chrome design system.