Vybe is built for internal tools. That focus means some capabilities are intentionally outside the platform’s scope, while others have practical workarounds. This page is a transparent reference so you can plan your apps accordingly.
Hard limitations
These are constraints with no workaround within the platform.
| Limitation | Details |
|---|
| No public apps | Apps are for authenticated organization members only. You cannot build public-facing websites or apps with public sign-up. |
| No multi-tenant auth | There is no public user registration or multi-tenant authentication system. All users must be members of your Vybe organization. |
| No arbitrary npm packages | Only pre-approved packages can be installed. You cannot add packages from the npm registry freely. See Available Packages for the full list. |
| No terminal access | Neither you nor the AI have terminal or CLI access. All operations happen through the Vybe interface. |
| No SSE or WebSockets | Server-Sent Events and WebSocket connections are not supported. Long-lived connections cannot be established. |
| No background processes | You cannot run long-running background tasks directly. Use Inngest workflows for scheduled or asynchronous processing. |
Limitations with workarounds
These constraints have practical alternatives you can use.
| Limitation | Workaround |
|---|
| No webhooks | Use polling via Inngest scheduled workflows to check for updates from external services at regular intervals. |
| No file uploads to local storage | Process files in memory (CSV parsing, data extraction), store results in the database, or use an external storage service through a Custom API integration. |
| No user directory | Create a users table in your internal database and match records by email from the authenticated session. |
| No integration discovery | If a service is not in the integration catalog, use Custom APIs with direct REST access. Any service with an API can be connected this way. |
Working within the limits
These patterns help you build effective apps within Vybe’s constraints.
Polling instead of real-time updates
Since SSE and WebSockets are not available, use a polling pattern for data that changes frequently:
- Fetch data on page load
- Add a manual refresh button for user-triggered updates
- Use Inngest workflows for periodic background syncs (e.g., sync Salesforce data every 15 minutes)
Add a “Refresh” button that re-fetches the data from the API. Also show a “Last updated” timestamp.
File handling in memory
You cannot upload files to local disk storage, but you can process them in the browser:
- Accept file input through an
<input type="file" /> element
- Parse the file contents in memory (CSV, JSON, etc.)
- Store the extracted data in the database
- For file storage, use an external service (like S3) via Custom API integration
Create a CSV import page. Let users upload a CSV file, preview the parsed data in a table, and save it to the database on confirmation.
User context from the session
Every request in a deployed Vybe app includes the authenticated user’s email. Use this to build user-specific experiences:
- Read the user email from the request headers
- Match it against a
users table in your database for user-specific settings, preferences, or roles
Show only the tasks assigned to the currently logged-in user. Match the user by their email address from the session.
Connecting unsupported services
If a service does not have a built-in Vybe integration, you can still connect to it:
- Create a Custom API integration with the service’s base URL and authentication credentials
- Ask the AI to call the service’s REST endpoints directly
- Store the credentials securely as environment variables
Connect to our internal API at https://api.example.com. Use the API key stored in environment variables. Fetch the list of products from /v1/products.
Any service with a REST API can be connected to Vybe through Custom APIs. Check the service’s developer documentation for endpoint details and authentication requirements.
What Vybe is best at
Understanding what Vybe is designed for helps you make the most of the platform:
- Internal dashboards — KPI tracking, analytics, monitoring
- CRUD applications — Customer management, inventory tracking, order management
- Admin panels — User management, content moderation, configuration interfaces
- Data tools — Report builders, data explorers, import/export workflows
- Workflow tools — Approval flows, ticketing systems, task management
- Integration hubs — Unified views across Salesforce, Jira, Slack, Stripe, and more
Vybe is not designed for public-facing applications, consumer products, or high-traffic websites. It is purpose-built for internal tools used by your team.
What’s next