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
Manage leads, appointments, sales and customer relationships with a team of AI employees built around your business.
BusinessTypeScript · JavaScriptGitHub @mlester999OnlineOwner 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
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 ↗The workspace iAcquire clients use to run their AI-powered client acquisition and retention system: a dedicated six-person AI workforce (powered by Hermes Agent), leads, appointments, sales, retention, analytics, approvals, a knowledge center, human support, a Setup Center that shows each client the real progress of their own system, and an agency admin portal (client Setup Manager, Secure Integrations Manager, provisioning and activation review) for iAcquire staff.
Status: built and covered by automated tests against a local PostgreSQL emulation and mocked providers. No live Supabase project, Hermes gateway, GoHighLevel location or n8n instance has been connected or verified yet, so the portal shows honest "Not configured" / "Credentials saved" states instead of simulated data. See docs/verification-status.md for exactly what is verified and what is not, and docs/supabase-setup.md for the steps that connect it.
| Layer | Production |
|---|---|
| Accounts and sessions | Supabase Auth (email/password, invitations, verification, reset), cookie sessions via @supabase/ssr |
| Application data | Supabase PostgreSQL with Row Level Security (supabase/migrations) |
| Private files | Supabase Storage private buckets with short-lived signed access |
| Integration secrets | Managed Supabase Vault references; no plaintext secret in application tables |
| Live setup updates | Scoped Supabase Realtime revision signals, plus server-sent events and polling fallbacks |
The Hostinger appointment-event PostgreSQL and n8n's internal database are separate systems and are never used by the portal.
npm run dev loads .env.development, which uses the embedded PGlite database and local sign-in. It does not connect to the
hosted Supabase project, and it refuses a remote database unless ALLOW_REMOTE_DB_IN_DEV=true is set explicitly. See
docs/development-database-safety.md.
npm install
npm run db:seed:local -- --demo --mock-hermes http://127.0.0.1:8787
npm run mock:hermes # optional: local Hermes test double on :8787 (labelled, not a live AI)
npm run dev # http://localhost:3100
Local mode uses an embedded PostgreSQL (PGlite) in .data/pglite-development, migrated automatically on first use.
--demo creates a clearly labelled demo workspace with fictional sample records plus a second, empty
tenant for isolation checks. Demo passwords are random and written to .data/dev-credentials.local.json
(gitignored). Captured emails (verification, reset, invitations) are viewable at /dev/mailbox
in development only. To work against an approved staging project, follow
docs/staging-environment.md; never point ordinary development at production.
| Account | Role |
|---|---|
[email protected] | Agency super admin (/admin) |
[email protected] | Agency staff (assigned clients only) |
[email protected] | Client owner — Demo Workspace |
[email protected] | Client member — Demo Workspace |
[email protected] | Client owner — a separate, empty tenant |
| Command | Purpose |
|---|---|
npm run dev / build / start | Next.js app |
npm test | Vitest suite (in-memory PostgreSQL emulation, mocked providers; no network) |
npm run lint / typecheck | ESLint / TypeScript |
npm run db:migrate | Apply SQL migrations (explicit step; hosted databases are never auto-migrated) |
npm run db:seed [-- --demo] | Agency organization (and optional synthetic demo data; never run on real data) |
npm run admin:invite -- --email [email protected] [--staff] | One-time invitation link for the first agency admin |
npm run auth:migrate | Dry-run/apply the audited legacy-account to Supabase Auth migration |
npm run mock:hermes | Local Hermes API test double for visual QA |
Next.js 16 (App Router, Turbopack) · React 19 · TypeScript · Tailwind CSS 4 · Radix primitives · Motion · Zod · Supabase (Auth, PostgreSQL, Storage, Realtime, Vault) · Vitest. PGlite is used only for the explicit local demo and the automated tests.
supabase/migrations/ SQL schema, RLS policies, reference data (0001-0013); never auto-applied to hosted databases
src/app/(auth)/ login, invitations, verification, password reset, get-started
src/app/(setup)/ welcome screen and the 5-step onboarding wizard
src/app/(portal)/ client workspace: overview, setup, workforce, leads, appointments, sales,
retention, analytics, approvals, knowledge, activity, settings, support
src/app/(chat)/ full-screen AI employee chat
src/app/(admin)/admin/ agency portal: clients (+ per-client Setup Manager, Integrations, Provisioning,
Activation), the global Integrations manager, workforce, support, health, usage, audit
src/app/api/ streaming chat, help assistant, uploads, exports, health, setup sync, integrations
src/server/ server-only services (auth, tenancy, workforce, chat, approvals, leads, knowledge,
support, help, usage, audit, setup, security) and typed integration adapters
src/components/ UI by module; ui/ holds shared primitives
tests/ security, tenancy, workflow, setup, provisioning and integration-contract tests