Skip to content

The App Builder

Here's what you're looking at when you open a project in Vulcan.


The header

The bar across the top contains:

  • Vulcan logo + Beta badge — reminder that the platform is in Beta (see Limitations)
  • Status indicator — green dot when the App Builder is ready, updates during deploys
  • Project switcher — jump between your projects without going back to the hub
  • Versions — save and restore version snapshots (full guide)
  • Settings — manage your Anthropic API key (BYOK) and other preferences (see Bringing your own API key)
  • Feedback — report a bug or send the platform team a note (see Feedback)
  • Your avatar — shows your name as Vulcan knows it

The left panel — Chat

This is where you describe what you want. Type a message, hit Enter, and the AI reads your current code, makes the changes, and deploys to preview automatically.

The chat history for each project is saved — you can scroll back through everything the AI has built or explained in previous sessions. Every message shows a timestamp next to the sender name.

Chat panel header buttons

Two small buttons sit in the top-right of the chat panel:

  • Activity — opens a slide-in feed showing all project members' chat turns with Vulcan (who asked what, when, and what Vulcan responded). Useful for understanding what teammates have built in the project.
  • History — opens a slide-in version list so you can browse and restore previous snapshots without leaving the chat. See Versions & Rollback.

Retrying a response

After every completed AI response, a small ↺ Retry button appears at the bottom of the message. Click it to re-send the same prompt if you want a different take. The button clears when you start a new message.

Attaching files

Click the paperclip (📎) icon in the chat input area to attach a file to the project. Supported formats: PDF, plain text, HTML, Markdown, CSV, JPEG, PNG, WebP, GIF (max 10 MB each, up to 10 files per project). Attached files appear as chips above the input and are included in Claude's context on every subsequent turn — useful for design specs, schemas, reference data, or screenshots. Files persist across sessions; click the × on a chip to remove one.


The right panel — Workspace

The workspace has four tabs:

Preview (default)

A live embedded version of your deployed app. Updates automatically after every AI turn. This is the main feedback loop — click around here after every change to make sure things look and work as expected.

The Preview tab also has three sub-tabs for logs:

  • Build Logs — shows any errors that prevented the app from deploying. If a deploy fails, the reason is here. Includes a "Send to Chat" button to pipe the error directly to the AI.
  • Console Logs — captures log output from the frontend as you interact with the live preview. Useful for debugging things that look wrong in the browser.
  • Server Logs — streams live activity from the backend of your app — errors, request traces, and cron job output. First place to look when something isn't working correctly.

Logs are not stored — they stream in real time while the tab is open and are gone when you close it or reload the page.

Code

A file editor showing your project's source files. You can browse any file and edit directly. See Viewing and editing files for what to watch out for with manual edits.

Tasks

A real-time view of what the AI is doing during the current turn. For any multi-step request, the AI posts a task list at the start — each item as "pending" — then updates each one to "in progress" and "done" as it works through them. The panel switches into view automatically the first time the AI posts tasks, so you can see progress without clicking anything. Clears when you send a new message.

Changelog

A running log of every file change the AI has made — what was created, edited, or deleted, and a brief summary of why. Updated automatically after each chat turn. Capped at 200 entries (oldest fall off). Useful for tracing back what changed and when, but it's a summary log, not a full code diff.

Production

Appears once your app has been deployed to production. Shows live observability metrics pulled from Cloudflare. Metrics are available in 1h, 6h, 24h (default), and 7d windows.

Traffic

  • Requests — total number of HTTP requests your app received
  • Errors — requests that returned a 5xx server error
  • Error rate — errors as a percentage of total requests

Performance

  • CPU time — how long your Worker's CPU was actively executing code per request. p50 = the median request, p99 = the slowest 1% of requests. Lower is better. Most simple apps run in under 5ms.
  • Duration — wall-clock response time (includes network wait, not just CPU). Higher than CPU time is normal.

Storage (only shown if your app uses that storage type)

  • KV — read, write, delete, and list operation counts
  • D1 — read and write query counts, rows read and written
  • R2 — get, put, and delete operation counts

These metrics are useful for spotting problems — a spike in error rate, unusually high CPU time, or unexpected storage activity. For most internal tools you won't need to watch them closely.

Production Monitoring guide


The toolbar

Inside the workspace panel, two buttons sit in the top-right corner:

  • Deploy to Preview — manually trigger a preview deploy (normally this happens automatically after each chat turn)
  • Deploy to Production — push the current state of your app to the production URL

Settings & BYOK

The Settings panel (gear icon in the header) has two sections.

Anthropic API key

By default, all AI chat sessions in Vulcan use a shared platform key. If you want to use your own Anthropic account instead — to track your own usage, use a specific tier, or avoid the shared quota — you can add your key here.

To set it up: Open Settings → paste your Anthropic API key → save. Your key is encrypted at rest and never appears in your code or chat history. Once set, it takes precedence over the platform key for all your sessions. You can remove it at any time to revert to the shared key.

Standing instructions

You can give the AI a persistent set of instructions that apply to every chat turn in this project. Think of it as a way to encode project-specific rules the AI should always follow — preferred naming conventions, things it should never touch, tone and formatting preferences, or anything else you'd otherwise have to repeat every session.

To set it up: Click the gear icon (⚙) in the IDE header to open the Settings modal → scroll to the Standing Instructions section below the API key → type your instructions (max 2000 characters) → click Save instructions. Takes effect on the next message you send.

A few examples of what works well here:

  • "Always use TypeScript strict mode and never use any."
  • "The color scheme for this app is navy blue (#1a2b4c) and white. Don't introduce other colors."
  • "This is a read-only dashboard — never add forms or write operations unless I explicitly ask."
  • "All monetary amounts should be formatted as USD with two decimal places."

Standing instructions are per-project and visible only to the owner and editors. They don't show up in the chat history.


Feedback

The feedback button (speech bubble icon) in the header opens a short form where you can report bugs, request features, or share general thoughts. Submissions go directly to the platform team via Slack and are tracked in an internal dashboard. There's no reply mechanism — for urgent issues, reach out in #eng_product_platform_team.


The app catalog

The catalog (accessible at vulcan.shipveho.com/catalog) is a searchable grid of Vulcan apps that users have opted to share publicly within Veho.

To list your app in the catalog: deploy to production, then toggle "List in catalog" on the Production tab. Your app's name, description, and production URL will appear there for any Veho employee to find and open.

Listing is opt-in — your apps are not visible in the catalog unless you explicitly enable it.


Limitations

Vulcan trades flexibility for simplicity. Everything that makes it fast and easy — the automatic hosting, deployments, login, storage, scaling — comes from the fact that the platform makes those decisions for you. The limitations below are the flip side of that: places where the platform is intentionally constrained so the rest just works.

For building internal tools at Veho, these tradeoffs are almost always worth it.

Vulcan is also in Beta. That means:

  • No SLA or uptime guarantee — it's an internal tool. If something's broken, reach out in #eng_product_platform_team.
  • No data retention guarantees — we don't plan to delete your projects, but the platform can change in breaking ways during Beta without notice.
  • The AI makes mistakes — it can write incorrect code, misunderstand requests, or silently change things it wasn't asked to. Always check the preview. Don't deploy to production without testing.
  • Apps are Veho-internal only — Vulcan enforces that only logged-in Veho employees can open your app. There is no way to make a Vulcan app publicly accessible.
  • No custom domains — apps live at nyx.shipveho.com/{yourname}/{appname}/. You can't bring your own domain.
  • No shared editing — only the project owner can edit an app. You can share the live URL but not the App Builder.
  • Server Logs are not stored — logs stream live while the Server Logs tab is open. Close the tab or reload the page and they're gone. There's no log history.
  • Version snapshots are capped at 20 per project — the oldest is automatically removed when you save a new one beyond the limit.
  • Complex apps need multiple turns — the AI can handle a lot, but trying to build something sophisticated in one message usually leads to messy results. Expect to iterate.
  • Single-page apps only — your app is served from a single index.html with JavaScript routing. Multiple views are supported, but they're client-side routes, not separate pages. See Multi-page apps.

Built by the Veho Developer Platform team