Public
CRM UI demo: HTML rendered from val SQLite + blob data
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

crm-mcp-demo

A tiny CRM where every screen is HTML rendered straight from the val — pulled live from the val's own SQLite + Blob. Built to probe how far the Val Town MCP's HTTP rendering goes inside a chat.

Views

RouteRendersData source
/Leads indexSQLite contacts
/c/:idLead card (+ photo)SQLite contacts
/c/:id/timelineTouchpoint timelineSQLite touchpoints
/c/:id/emailAI-drafted emailgenerated from data
/c/:id/enrichEnrichment panelBlob crm_enrich_*
/signups30-day signup chartSQLite signups

Try c1 (Maya Krishnan) for the richest record; c2c6 also seeded.

How it works

  • Self-seeds fake data on first request (idempotent — checks COUNT(*)).
  • Photos are fetched once from randomuser.me and cached as base64 in the contact row, so they render even inside a sandboxed iframe with no network access.
  • Every view is static HTML + inline SVG, zero client JS — so it renders anywhere the response is shown.
Rendering mermaid diagram...

Files: main.ts (routes) · data.ts (seed + queries) · ui.ts (rendering).