Your assistant can build and publish web applications directly from your sandbox. Published apps get a public URL accessible through your Coral dashboard — no separate hosting needed.Documentation Index
Fetch the complete documentation index at: https://docs.coral.inc/llms.txt
Use this file to discover all available pages before exploring further.
How it works
- Ask your assistant to build a web app (e.g., “Build me a CRM to track my leads”).
- The assistant writes the code, starts a server, and calls the
publish_apptool. - Coral registers the app and provides a public URL.
- Access the app through the link — authenticated with your Coral session.
What you can build
Apps run inside your sandbox with full access to its filesystem. Common examples:- CRM / contact trackers — Manage leads, contacts, and sales pipelines
- Dashboards — Visualize data from files or APIs
- Project management tools — Kanban boards, task trackers
- Internal tools — Custom calculators, data entry forms, admin panels
- Personal utilities — Habit trackers, bookmark managers, note-taking apps
Managing published apps
Published apps are managed from the Settings page under Published Apps. Each app card shows its name, port, status (running/stopped), and URL.Custom subdomains
Each published app can be assigned a custom subdomain, giving it a clean URL like:Visibility settings
Control who can access your published app:- Public — Anyone with the link can access the app (still requires Coral authentication).
- Invite only — Only users you explicitly grant access can open the app.
Access control
For invite-only apps, manage access by email:- Open the app card in Settings > Published Apps.
- Add email addresses of users you want to grant access.
- Granted users can access the app when signed in to Coral.
Technical details
Recommended stack
Your sandbox has limited resources, so lightweight frameworks work best:- Backend: Express.js (~30 MB RAM)
- Database: sql.js (pure WebAssembly SQLite — zero native dependencies)
- Frontend: Vanilla HTML/CSS/JS or Alpine.js
Constraints
- Maximum 5 apps per sandbox
- Ports 3000–9999 available for app servers (ports 18789–18799 are reserved)
- Bind to
127.0.0.1only (not0.0.0.0) - Use relative paths in HTML (
./api/data, not/api/data) - Data persistence: Store data in
/data/apps/{slug}/— the workspace directory doesn’t survive restarts