Overview
A quick read of what's happening across ConcreteGC. Use the sidebar to dig into any area.
Quick actions
Select an agent
Pick an agent on the left, or create a new one.
Slug used to switch agents. Lowercase, no spaces.
Shown as the bot's name in chat.
Shown under the name in the chat header.
This is what the user sees when they switch to this agent.
When the LLM is wired up (Anthropic Claude Sonnet 4.6), this is the system prompt that defines this agent's personality and what it knows about.
Built-in interactive flows you can attach. The visualizer flow is the full image-to-image experience.
Inject the global Company Knowledge Base into this agent's context. Visualizer agents typically opt out — they use Style Examples instead.
When the user types free text into this agent, the router rules below check if any keywords match. If they do, the user is dispatched to the matching subagent. Otherwise the agent answers from its own LLM knowledge + KB.
Company Knowledge Base
A single document that gets injected into the system prompt of every agent that has "Inherit Knowledge Base" turned on. Use it to teach the AI everything about your business — services, pricing, process, voice, licensing, contact details.
Plain text or simple markdown. Anything you put here is appended to the agent's system prompt under a "COMPANY KNOWLEDGE BASE" header. Visualizer agents are excluded from this.
Style Examples (Visualizer)
Reference images the AI uses during image-to-image rendering. When a user picks one — e.g. "Contemporary Concrete" — the visualizer tries to replicate that look on their uploaded photo.
Inspiration Patterns
The small circles users see under the AI Designer compare frame. Click a circle = that style description is added to the user's prompt. Hover = a 2.5× preview pops up. Each item can use either a custom image URL or one of the built-in CSS pattern presets.
Quote Intake Copilot
The AI on /rfq runs on whatever system prompt is saved here.
Precedence: your saved prompt below → falls back to a bundled default if you've never saved (or if you click Reset).
Changes take effect on the next user message — no redeploy needed.
Defines John's persona, knowledge, intake fields, and field-extraction rules. The textarea above is pre-loaded with the prompt the bot is currently using (your override if saved, or the bundled default to start from). Edit it however you like and click Save.
Placeholders: {lead_json} = the user's current accumulated data, {images_summary} = which project images are attached. Both are filled in at request time so the model sees real state, not template text.
Free-form notes the copilot can draw on. Currently stored alongside the prompt — admin needs to weave a {kb} placeholder into the system prompt if they want it merged automatically. Not yet wired by default.
Workspaces
Every tenant workspace on the platform — each one owns a public AI Designer + AI Copilot at a unique slug. Click a row to open that workspace's owner admin in a new tab.
| Slug | Brand | Owner | Copilot | Designer | Leads | Latest lead | Created | Links |
|---|---|---|---|---|---|---|---|---|
| Click Refresh to load. | ||||||||
Quote Requests (RFQs)
Every submission from the AI Copilot quote-intake flow. Click a row to see the full transcript and the BEFORE / AFTER / inspiration images the customer attached. Use the workspace filter to scope to one tenant.
| When | Workspace | Name | Contact | Project | Timeline | Visit window | Address | Images |
|---|---|---|---|---|---|---|---|---|
| Click Refresh to load. | ||||||||
RFQ Detail
Users
Everyone who has signed up or signed in via the AI Designer modal. Stored in Netlify Blobs (server-side, persistent). Refresh below to pull the latest.
Signups
| Name | Phone | Address | Signed up | Last seen | |
|---|---|---|---|---|---|
| Click Refresh to load. | |||||
Recent activity
| When | Type | Name | |
|---|---|---|---|
| Click Refresh to load. | |||
AI Engine Settings
Master configuration for image-to-image rendering on the AI Designer page. Change engine, API token, prompt augmentation, and image dimensions here. Stored locally; in production this maps to a Supabase config row.
FLUX Kontext from Black Forest Labs gives the best image-to-image fidelity (preserves your photo's structure). Pollinations is free fallback. Replicate and Hugging Face are alternative providers.
Stored locally in browser only. Get a BFL key · Replicate token · Hugging Face token
Browsers can't call api.bfl.ai directly (CORS). For local dev: run node proxy.js from the outputs folder and leave this as http://localhost:8787/v1. For production: deploy a Supabase Edge Function that forwards to BFL and put its URL here (see AI_DESIGNER_SETUP.md).
This biases every render toward your brand aesthetic. Tune it if results look off — too cartoony, wrong vibe, etc.
SHA from a Replicate model page (e.g. FLUX dev img2img). Leave default for the prebuilt FLUX img2img endpoint.
Any img2img model on Hugging Face Hub. The page POSTs the user's photo as the input.