Vercel platform products study (2026-10-17)
Vercel platform products study (2026-10-17)
1. Why this doc
Young's direction 2026-10-16/17: Heart Fleet on all hosts; prod redesigned as the
services lane (Docker + Medusa + POS + EVE + Hermes + Nuxt websites); pilot
customers Young Le (youngle.au: Docs + Pulse) and YukonIT (yukonit.com.au:
KB + EVE + Medusa + StoreFront); Mira + Tam to study Vercel templates for the
product showcase. This doc registers (a) the Vercel template landscape against
our product line, (b) MCP status for Hermes + opencode v2, (c) pilot mapping,
(d) recommended product tiers. Companion: 02-architecture/prod-services-lane-redesign.md.
2. Vercel template landscape → our product line
We are already running the Vercel Docus template (docs-site/package.json:
docus: latest, nuxt: ^4.4.8). The template library is not aspirational — it
is the catalogue of what we can deploy today. Client demos = Vercel templates
running our hosted services beneath them.
Verified live via GitHub API 2026-10-17 (stars, licence, push date):
| Vercel template family | Repo (verified) | Our product | Fits pilot |
|---|---|---|---|
Nuxt Docs (vercel.com/templates/nuxt/docus) | nuxt/docus ★3,117 MIT — what docs.youngle.au runs today | Docs/KB website hosting (company KB + agent-published docs + vault-mirror pipeline) | 1 (Young Le), 2 (YukonIT KB) |
| Nuxt UI SaaS | nuxt-ui-pro/saas ★564 MIT | Client portal / subscription landing (bookings + account areas) | 2 |
| Nuxt UI Landing | nuxt-ui-pro/landing ★402 MIT | Business landing pages (entry tier, domain + email packaged) | 1, 2 |
| Nuxt UI Dashboard | nuxt-ui-pro/dashboard ★1,093 MIT | Our fleet dashboard UI (rides component family); sellable client ops dashboards v2 | internal |
AI Chatbot (next.js/ai-chatbot) | vercel/ai-chatbot ★20,995 (NOASSERTION) | AI assistant hosting — alternative runtime for EVE-style support agents (Next-based) | 2 |
| Platforms (multi-tenant SaaS) | vercel/platforms ★6,719 (no LICENSE file — pattern reference only) | Multi-tenant per-domain hosting pattern underlying our hosting product | internal + 2 |
| Next.js Commerce | vercel/commerce ★14,308 MIT | Commerce comparison base (Shopify-first now); our commerce = Medusa lane | — |
| Medusa Next.js Ecommerce Store Starter | medusajs/dtc-starter ★147 MIT + Agilo/medusa-pos-starter ★121 MIT + vercel/eve ★5,591 Apache-2.0 | Medusa + POS + EVE (products of record) | 2 |
Licence notes
- Docus MIT; nuxt-ui-pro family MIT; Medusa MIT; Agilo MIT; EVE Apache-2.0 — clean end-to-end, sellable.
vercel/ai-chatbot= NOASSERTION — check NOTICE before packaging.vercel/platformshas no LICENSE file — pattern-reference only; do not copy code into client deliverables; write the pattern ourselves in the tenant template.- Saleor Paper (FSL-1.1-ALv2) excluded — not resellable as a product; Medusa choice is what makes the bundle sellable.
Deliberately excluded
- The 14 EVE Slack/iMessage agent templates (they sell Slack agents, a different product).
- All Shopify/Salesforce/Wix storefronts (platform lock — the customer would own nothing).
3. Our product catalogue (5 products, all riding Nuxt + Docker)
- KnowledgeBase — Nuxt/Docus site + vault-mirror pipeline + domain + email. Client writes markdown (or talks to an EVE agent); we host and publish. Showcase: docs.youngle.au itself.
- BusinessOnline — Landing (Nuxt UI Pro) + domain + Office365 + contact/agentic chat button. Entry tier.
- Commerce+POS — Medusa v2 storefront + Agilo POS on tablets + EVE receptionist, per-tenant stack on our Docker design. Showcase: the YukonIT pilot.
- AIAgent hosting — EVE (or ai-chatbot) instance per client with tenant-scoped memory + HIL gates. Bundled with 2/3; standalone for shops who have a site already.
- OpsDashboard — Nuxt UI Pro Dashboard for internal fleet dashboards (v1), then client ops dashboards (v2).
All five ride the same stack (Nuxt/Nuxt UI + our Docker/hosting design) — the showcase story is coherent: "everything you see on docs.youngle.au is the same machinery your business runs on."
4. MCP integration — Hermes + opencode v2
4.1 Status: NOT done. Gated pending Young's ruling.
- OPEN-DECISIONS.md item 4 — "The MCP ruling — keep or defer; the one conflict not resolvable by evidence" — Young owns it. Status: pending.
- Min's position (architectural): A2A carries work; MCP carries a single agent's access to its tools. They are not redundant and must not be merged. Phase 3 of DESIGN-OF-RECORD: (3.1) move the MCP tool list into the registry; (3.2) declare per-agent tool permission. MCP server reads the registry.
- Sol's position (empirical): production importers of
arms/mcp_server.py= 0; measured usage = 0.03%. Building Phase 3 tooling around MCP repeats V2's "built-never-wired" defect. Defer Phase 3 to a gate — adopt A2APart.dataas the tool-call envelope, ship V3 with one real tool-consuming path, and let the need for MCP be demonstrated by a caller. - STRUCTURE.md §8:
core/arms/andoperation/mcp/are deliberately gated empty directories — "until either a real consumer appears, or Young rules MCP stays."find . -name '*.py'returns 0 in.solos/; nothing built yet.
4.2 What is available today (V2 legacy, not wired)
- V2
arms/mcp_server.pyexposes 10 tools inline (declared as code, not declaration) includingverify_task— which bypasses the verification gate (the sharpest V2 defect: a caller can complete any working task withverified=True, no evidence inspected). arms/acp_surface.pyalso has 0 production importers.- Hermes itself speaks A2A natively (
a2a_call,a2a_discover,a2a_orchestrate,a2a_list,a2a_history) — the Brain's A2A client exists. MCP is a separate agent↔tool channel (stdio, spawned by the client). - opencode v2.0.27 on all hosts (LAB, prod) — ARMS layer; A2A endpoints per agent per host.
4.3 How it would plug in (if ruled in)
- Tools live in
cortex/(one source); generated into the MCP tool list; per-agent tool permission declared. A refused tool call fails by declaration (not runtime). - MCP server reads the registry; an agent loads only the skill/tool it needs for the task (Hermes pattern — V2 failed it: cards advertised 3–5 skills while every profile received all 67; empty
skills: []served as healthy). - A2A and MCP are two interfaces, deliberately different — A2A carries tasks with a lifecycle (JSON-RPC over HTTP, one port per agent); MCP carries a single agent's access to its tools (stdio, spawned by the client). Merging them loses the task lifecycle.
4.4 Recommendation
Defer Phase 3 (MCP) to a gate. Do not build now. Adopt A2A Part.data as the tool-call envelope; ship V3 with one real tool-consuming path; let MCP be demonstrated by a caller before anything is built. This is the only path that escapes V2's "built-never-wired" lesson. Young's ruling required to change this.
5. Pilot customer mapping
5.1 Young Le — youngle.au
Services: Docs + Pulse websites.
youngle.au— 000 (not resolving/serving) ⚠️ — apex landing page missing; this is the showcase gap.docs.youngle.au— 401 (auth-gated, by design) — Docus, live.pulse.youngle.au— 200, live.yukonit.youngle.au— 200 (vhost → :8012).- Products delivered: P1 (Docs/KB) + P6 (Pulse/investing) already live. Gap = apex
youngle.aulanding (P5 marketing/landing) — the showcase Young is asking for. - Pilot 1 = our own content pipeline as a service (near-zero marginal cost, high showcase value).
5.2 YukonIT — yukonit.com.au
Services: KB Website + EVE + Medusa + StoreFront.
yukonit.com.au— 200, live, and not ours:<title>Domain Names & Web Hosting | Yukon IT Pty Ltd— an existing hosting business site.- YukonIT is already a trading hosting business. We are not building a shop for a blank slate; we are adding KB + EVE + Medusa + storefront to an existing operator who will judge us by whether our stack beats what they already sell.
- Delivery set = P1 (KB) + P2 (storefront) + P4 (EVE) + hosting — exactly the bundle in business-plan-v2, and the pilot that proves the A$119 tier.
- Pilot 2 = the full bundle (A$119 tier target). YukonIT is the first tenant candidate (services-pricing-model-aud.md §7).
6. Recommended product tiers (based on Vercel examples + business plan)
6.1 Tier ladder (commerce bundle, AUD, from business-plan-v2)
| Tier | AUD/mo | Gets |
|---|---|---|
| Solo | A$119 | 1 location · website + checkout · POS on 2 tablets · AI receptionist (1,000 conversations/mo) · backups · domain + M365 email |
| Shop | A$229 | Solo + AI sales + support (3,000 conversations/mo) · staging env · priority support · 3 M365 users |
| Extra location | +A$75 | second POS site, same backend |
6.2 Product tiers (showcase catalogue, from Vercel templates)
| # | Product | Built on | Price anchor |
|---|---|---|---|
| P1 | Docs / KB site | Docus (Nuxt 4) | bundled in Solo |
| P2 | Commerce storefront | Medusa Next.js Ecommerce Store Starter | Solo/Shop |
| P3 | POS + in-store | Agilo medusa-pos-starter (fork) | Solo/Shop |
| P4 | AI staff (EVE) | EVE agent templates | Solo/Shop |
| P5 | Marketing / landing | Portfolio/Platforms Starter Kit | entry tier / showcase (apex youngle.au) |
| P6 | Investing / research site | Docus | Pulse lane |
| P7 | Managed hosting | Docker per tenant (prod node) | A$5/mo domain etc. add-ons |
6.3 Add-on pricing (services-pricing-model-aud.md)
- Domain (.com.au): A$5/mo (A$2.08–3.33 wholesale).
- M365 email: A$15/user/mo (AU$10.50 Microsoft retail).
- Storage 20 GB: A$1.32/mo (Oracle Block Volume Balanced).
- Bandwidth: A$0.00 (10 TB/mo free).
- Compute (shared node): A$4–5/tenant/mo.
- AI: A$1.55–3.10/tenant/mo on shared GO (free-first ladder).
6.4 Margin
Solo A$119: variable cost A$19.45–23.25 → margin A$95.75–99.55 (80–84%). Break-even tenant #1, day one. Margin is labour (onboarding, support), not infra.
7. Honest gaps / not established
- No build exists for any tenant stack; all designs are specs.
- MCP ruling pending Young.
youngle.auapex not resolving — DNS vs hosting unverified.- YukonIT is an existing hosting operator; coexistence with their current platform is an integration question for Sol.
- Oracle PAYG excess (A$40–60/mo if credits expire) — needs Young's OCI console check.
- POS payments are manual path only; terminal integration Phase 2/3.
- EVE is beta (API churn) — pin versions.
8. Cross-links
- Prod redesign:
02-architecture/prod-services-lane-redesign.md. - Business plan v2:
03-decisions/business-plan-v2-aud-allowance.md. - Services pricing:
03-decisions/services-pricing-model-aud.md. - Product catalogue:
03-decisions/product-catalogue-vercel-grounded.md. - Vercel template offer catalogue:
01-research/products-from-vercel-templates.md. - Docker design:
02-architecture/docker-systems-design.md. - Commerce hosting:
02-architecture/COMMERCE-HOSTING-DESIGN-2026-10-13.md. - Host topology:
02-architecture/host-topology-roles-2026-10-16.md. - Open decisions:
03-decisions/OPEN-DECISIONS.md(MCP = item 4).
9. Register note
This doc consolidates the Vercel-template/product/MCP/pilot/tier thread into one
research note so Min can register it on the vault. Companion architecture doc:
02-architecture/prod-services-lane-redesign.md.

