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
The pipeline doesn’t break, it’s forgotten. Agents who prospect, follow up and prepare the close, tested before speaking with a client.
AI translation
El pipeline no se cae, se olvida. Agentes que prospectan, dan seguimiento y preparan el cierre, probados antes de hablar con un cliente.
BusinessTypeScript · CSSGitHub @victorgallooOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
AI-powered WhatsApp sales assistant for LATAM businesses.
Omona connects to your WhatsApp, responds to customers 24/7 with a trained AI agent, qualifies leads automatically, and gives you a full CRM dashboard to manage everything.Read the full README ↗AI-powered WhatsApp sales assistant for LATAM businesses.
Omona connects to your WhatsApp, responds to customers 24/7 with a trained AI agent, qualifies leads automatically, and gives you a full CRM dashboard to manage everything.
| Layer | Technology |
|---|---|
| Server | Hono + Node.js |
| Dashboard | Next.js 14 (App Router) + Tailwind CSS + Framer Motion |
| AI | Azure AI Model Inference (Grok via OpenAI-compatible SDK) |
| Baileys (multi-device, no Meta API) | |
| Database | Supabase (Postgres + Auth + RLS) |
| Resend | |
| Audio | Groq Whisper (voice message transcription) |
| Charts | Recharts |
| Monorepo | Turborepo + npm workspaces |
| Hosting | Railway (server) + Vercel (dashboard) |
git clone https://github.com/your-org/omona.git
cd omona
npm install
Copy the example and fill in your keys:
cp .env.example .env
Server (root .env):
| Variable | Required | Description |
|---|---|---|
SUPABASE_URL | ✅ | Supabase project URL |
SUPABASE_SERVICE_KEY | ✅ | Service role key (server-side, bypasses RLS) |
AI_API_KEY | ✅ | Azure AI API key |
AI_MODEL | Model ID (default: grok-4-1-fast-reasoning-2) | |
AI_BASE_URL | Azure AI endpoint (default: https://omona-ai.services.ai.azure.com/models) | |
PORT | Server port (default: 3001) | |
DASHBOARD_URL | Dashboard URL for CORS (default: http://localhost:3000) | |
RESEND_API_KEY | Resend key for email notifications | |
GROQ_API_KEY | Groq key for voice message transcription | |
BAILEYS_AUTH_DIR | WhatsApp auth session path (default: ./auth_sessions) |
Dashboard (apps/dashboard/.env):
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_API_URL | ✅ | Server URL (e.g. http://localhost:3001) |
NEXT_PUBLIC_SUPABASE_URL | ✅ | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | ✅ | Supabase anon/public key |
Run the Supabase migrations in supabase/ to create all required tables and RLS policies.
# All apps (server + dashboard)
npm run dev
# Or individually
npm run dev:server # http://localhost:3001
npm run dev:dashboard # http://localhost:3000
omona/
├── apps/
│ ├── server/ # Hono REST API + WhatsApp bot
│ │ └── src/
│ │ ├── ai/ # AI engine, prompts, lead extraction
│ │ ├── api/ # Route handlers (13 modules)
│ │ ├── services/ # Business logic (conversations, follow-ups, notifications, parsers)
│ │ ├── whatsapp/ # Baileys session management
│ │ └── db/ # Supabase client and queries
│ └── dashboard/ # Next.js 14 admin dashboard
│ └── src/
│ ├── app/ # Pages (landing, auth, onboarding, dashboard)
│ ├── components/ # UI components (inbox, leads, settings, etc.)
│ ├── hooks/ # React hooks (auth, conversations, leads, messages)
│ └── lib/ # API client, Supabase client, utilities
├── packages/
│ └── shared/ # Shared TypeScript types (@omona/shared)
├── supabase/ # Database migrations
├── turbo.json # Turborepo config
└── package.json # Workspace root
| Command | Description |
|---|---|
npm run dev | Start all apps in development mode |
npm run dev:server | Start server only (with hot reload) |
npm run dev:dashboard | Start dashboard only |
npm run build | Build shared package |
npm run build:server | Build server |
npm run build:dashboard | Build dashboard |
npm run start | Start server in production |
Omona is fully multi-tenant. Each organization has isolated data enforced by Supabase Row Level Security (RLS). The server uses a service_role key for admin operations while the dashboard uses the anon key respecting RLS policies.
Plans: Free (with trial) → Pro → Enterprise
Roles: Admin · Agent · Viewer
Private — All rights reserved.
Built with ❤️ for LATAM by Anthana