Append-only log of every ingest, query, and lint pass. Every entry starts with ## [YYYY-MM-DD] <op> | <target> so it is grep-able:
grep "^## \[" log.md | tail -10
[2026-04-28] ingest | Multica + Hercules (dual batch, mixed clipped + web-fetched sources)
- Multica sources: links.md + Welcome.md (docs landing) + 'Multica — Project Management for Human + Agent Teams.md' (homepage clip) + 'multica-aimultica … managed agents platform.md' (GitHub README clip) + image.png (board screenshot).
- Hercules sources: 'AI App and Website Builder.md' (dashboard clip) + 6 screenshots (uncategorized) + web-fetches of hercules.app, hercules.app/docs, hercules.app/pricing.
- Created competitor pages for both (Overview, ICP, Pricing, Marketing, Tech): 10 pages.
- Created feature pages: Multica × 3 (Agents as Teammates, Reusable Skills, Unified Runtimes), Hercules × 3 (AI App Builder, Built-in Commerce, Templates Marketplace): 6 pages.
- Created new canonical: Agent Orchestration Platform — Multica-only in this vault, flagged as Tier 2 BD partnership target rather than competitor.
- Category reframe to 4 lanes:
- Builder lane (3): Replit + Anything + Hercules (third instance — convergence is now a trend, not coincidence)
- Runtime / sandbox lane (1): Fly.io
- Orchestration lane (1, new): Multica — open-source, vendor-neutral, 21.3k★
- Agent-economy lane (CreateOS-only): MPP + router + sandbox + marketplace
- Dashboard updates:
- Home
dashboard.html: hero text reframed (3 → 5 players, 4 lanes); 2 new positioning cards (Hercules amber, Multica indigo); horizontal scroller now overflows; ICP SVG gained Hercules + Multica arcs + 2 new seg cards; stats counter goes 3 → 5 competitors. product.html: feature matrix expanded 5 → 7 columns (50 rows × 2 new cells = 100 new cells, plus 8 group<tr>s updated tocolspan="7").strategy.html: insights 8 → 10 (added #09 Multica-as-partner, #10 builder-convergence-reinforces-our-thesis); insight #01 reframed lanes count 3 → 4.marketing.html: positioning side panel updated to 5-player landscape.bd.html: Multica added as Tier 2 partnership target with named pitch (cloud-runtime adapter); Hercules added to Tier 4 (track-only — same lane as Anything).- Cross-cutting impact: updated index; updated CSS tokens (added
--multicaindigo +--herculesamber + matching*-wash). - Gaps flagged:
- Multica: license, full Cloud pricing, MCP / x402 integration status.
- Hercules: pricing tier names + $ amounts (page didn't render), full integration catalog, agent reasoning UX, AI Gateway internals.
[2026-04-23] ingest | Fly.io (batch, 4 sources — web-fetched since raw/ only had link anchors)
- Sources: fly.io homepage, fly.io/docs, fly.io/pricing, phoenix.new (all fetched via WebFetch 2026-04-23).
- Created competitor pages: Overview, ICP, Pricing, Marketing, Tech.
- Created feature pages: Sprites, Fly Machines, Fly GPUs, Managed Postgres, Phoenix.new.
- No UX flow pages — no screenshots in raw/Flydotio/.
- Cross-cutting impact:
- Updated AI App Generation Agent — added Fly column (Phoenix.new as narrow Elixir beachhead).
- Updated Built-in Backend Services — added Fly column (primitives-direct, not bundled).
- Created Hardware-Isolated Sandboxes — new canonical feature, Fly-only in this vault, flagged as direct CreateOS competitor.
- Updated Enterprise Developers — added Fly section (light: HIPAA $99/mo + support tiers, no logo wall).
- Category reframe: Fly.io is NOT a direct Replit/Anything.com competitor. Real bet is Sprites (agent runtime), overlapping E2B / Daytona / Modal / Cloudflare / Vercel Sandbox / Blaxel — and CreateOS. Phoenix.new is a community beachhead, not a mass-market builder.
- Gaps flagged: no UX screenshots, no Sprites API/SDK shape, no per-GPU pricing, no free-tier scope, no Sprites-in-OpenAI-Agents-SDK confirmation, no customer logos.
[2026-04-22] init | vault scaffolded
- Created
CLAUDE.mdwith schema + workflows. - Created
index.md,log.md. - Created directories:
raw/,wiki/competitors/,wiki/features/,wiki/ux-patterns/,wiki/icp-segments/,wiki/marketing-plays/,wiki/comparisons/. - Ready for first competitor ingest.
[2026-04-22] ingest | Replit (batch, 2 sources)
- Sources: Replit Docs, Replit Product.
- Created competitor pages: Overview, ICP, Pricing, Marketing, Tech.
- Created feature pages: Agent 4, Parallel Agents, Multiple Artifacts, Infinite Canvas, Built-in Services, Import Wedges, Mobile App.
- No UX flow pages — no screenshots in raw/.
- Cross-cutting impact: created AI App Generation Agent, Parallel Agent Execution, Multi-Artifact Output, Built-in Backend Services, Competitive Migration Imports, Enterprise Developers.
- Gaps flagged: mid-tier pricing, full integration catalog, agent-credit economics, customer case studies, architecture specifics, UX screenshots.
[2026-04-22] ingest | Anything.com (batch, 2 sources)
- Sources: Anything.com Docs, Anything - AI app builder.
- Created competitor pages: Overview, ICP, Pricing, Marketing, Tech.
- Created feature pages: Conversational Builder, Max, Multiple Artifacts, Accept Payments, Databases, Templates, Custom Instructions, Domains.
- No UX flow pages — no screenshots in raw/.
- Cross-cutting impact: created Autonomous Testing and Fixing, Built-in Payment Acceptance, Creator Education Content, Indie Makers and Solopreneurs.
- Gaps flagged: pricing detail, security posture, integration catalog, GitHub/open-source status, core architecture, UX screenshots.
[2026-04-22] synthesis | Replit vs Anything.com
- Created Replit vs Anything.com flagship comparison.
- Key findings: Replit = platform depth + dual audience; Anything.com = sharp maker-monetization focus. Sharpest differentiator is Built-in Payment Acceptance (Anything.com first-class vs. Replit integration-only).
- Updated index — ~30 new page entries.
[2026-04-22] dashboard | v0.1 — 2-competitor brief
- Built
dashboard.html— single-file HTML brief, opens in browser. - Sections: positioning spread, 5 headline findings, 25-row feature matrix, ICP coverage SVG (3-segment axis), gaps + next-moves.
- Editorial visual treatment: warm cream bg, competitor accent colors (Replit orange / Anything teal), serif display type. Self-contained, no external deps.
- Designed to absorb a 3rd competitor as another matrix column + ICP arc when the wiki grows.
[2026-04-22] build | HTML rendering for all wiki pages
- Reason: clicking wiki links from dashboard dumped raw markdown with mojibake.
- Installed
markdown3.9 via pip (user site). Wrotebuild.pyconverter. - Converter handles: YAML frontmatter → styled metadata block; Obsidian
[[wiki-links]]→ relative .html hrefs (depth-aware, URL-encoded, with fallback unresolved-link span);> 💭 / > ❓ / > ⚠️blockquotes → styled callouts; tables + fenced code via markdown extensions; protects code blocks from wiki-link rewriting. - Generated 44 HTML pages (36 wiki + 4 raw sources + CLAUDE, Welcome, index, log). Shared stylesheet at
assets/wiki.css. - Re-run after every ingest:
python3 build.py. - Updated
dashboard.html: all 12.mdhrefs →.html.
[2026-04-23] build | dashboard auto-refresh (mechanical stats)
- Added
<!-- BUILD:KEY -->...<!-- /BUILD -->sentinels todashboard.htmlaround 9 mechanical fields: topbar meta line, 5 stat counters, 3 footer placeholders. - Extended
build.pywithcompute_dashboard_stats()+update_dashboard_stats(). Counts competitors fromwiki/competitors/*/dirs, wiki pages fromwiki/**/*.md, sources fromraw/**/*.md, UX flows fromwiki/competitors/*/ux-flows/, and features-in-matrix by parsing the dashboard's own<tbody>(so the counter stays in sync when Claude edits matrix rows). - Updated
CLAUDE.md: added steps 9–10 to the batch-ingest workflow ("rewrite dashboard.html synthesis sections" + "runpython3 build.py"), plus a new## Dashboardsection documenting the auto/manual split, what to edit when adding a competitor, and how to introduce a new competitor color. - Result: counters + dates auto-refresh on every
build.pyrun; synthesis stays Claude-authored and stays on-model because CLAUDE.md now enforces regeneration as part of ingest. - Verified: build output
2 competitors · 24 matrix features · 36 wiki pages · 4 sources · 0 UX flows. (Corrected "25 features tracked" → actual 24-row matrix count.)
[2026-04-23] ingest | UX screenshots (18 files, both competitors)
- User added 18 screenshots (9 per competitor) covering: landing, signup, workspace, agent chat, code/preview, publish, settings, version history, canvas (Replit), task board (Replit), command palette (Replit), Core upgrade modal (Replit).
- Corrections surfaced (major):
- Anything.com has a full in-browser code editor with Next.js file tree + JSX editing. Prior wiki marked "code editor: not advertised" ❌ — was wrong.
- Anything.com has Figma import as a first-class prompt-input affordance. Prior wiki marked "no designer on-ramp" ❌ — was wrong.
- Replit has Autonomous Build Mode (Core-gated). Prior Autonomous Testing and Fixing marked autonomous loop as Anything-only ❌ — was wrong.
- New features captured:
- Anything.com: Named Design Systems ("High-Fidelity SaaS", "Ghost Structure", Action Blue), Assets, Secrets, app-level Auth Providers, App Store Marketing, Monetization, Social Share, Invite/Collaboration, Publishing (project-wide), Contextual Max invocation.
- Replit: Task Board, Plan Mode, Connectors, Mobile Simulators, Background Tasks, Security Scanning + SBOM, Referral Badge ("Made with Replit" + 50 credits/click), Feedback Widget, Command Palette, Library Panel, Usage Widget, Economy Mode.
- New pages: 8 Anything.com UX flows, 9 Replit UX flows, 11 Anything.com feature pages, 13 Replit feature pages, 7 cross-competitor UX pattern pages, 1 canonical feature rewrite.
- Updates to existing pages: Anything.com - Overview, Anything.com - Custom Instructions, Replit - Overview, Replit - Marketing, Autonomous Testing and Fixing, Competitive Migration Imports, Enterprise Developers.
- Dashboard rewrite: new hero + lede ("same shell, different audiences"), both positioning cards rewritten with post-ingest evidence, insights grown 5 → 7 (added: Anything-is-quietly-a-dev-tool, Security+SBOM is Replit's hardest moat, Made-with-Replit viral loop), feature matrix grown 24 → 47 rows with new sections (Trust & compliance, Publish + growth, Pricing), ICP notes updated with enterprise proof + hidden-code-editor framing, gaps + next-moves rewritten (removed stale "no UX flows" gap).
- Build verified:
python3 build.py→ 92 HTML pages, stats2 competitors · 47 matrix features · 84 wiki pages · 4 sources · 17 UX flows. UX-flow counter correctly moved from 0 to 17.
[2026-04-23] playbook | prescriptive recommendations (McKinsey-style)
- User asked: "separate pages for optimum UX + what works / what doesn't / how to grow acquisition, retention, revenue."
- Created 7 pages under
wiki/playbook/: 00 - Executive Summary— top 5 moves, 2×2 by objective, top-level metrics.01 - Acquisition— pre-signup prompt, chips, imports, social proof, distinctive brand.02 - Retention— persistent usage widget, visible agent reasoning, durable version history.03 - Revenue— credit metering, gate-at-desire paywall, bundle-vs-unbundle, viral loops.04 - UX Recommendations— adopt patterns (7 shell + 5 differentiators) + avoid anti-patterns.05 - Strategic Bets— pick one audience + one autonomy + one signature + one loop.06 - Quick Reference Card— print-and-pin cheat sheet with 10 target metrics.- Added new Playbook section to
dashboard.html— 4-card strip (Acquisition / Retention / Revenue / Strategy), each with ✓ do / ✕ avoid bullets + link to full page. CSS accent color per topic (purple / blue / green / amber). Dark footer strip with hardest-truth callout + links to exec summary, UX patterns, quick ref. - Updated footer "Go to" links +
index.mdwith Playbook section. - Format: each page uses "3 moves to make / 3 things to avoid / how to measure." Opinionated and prescriptive.
[2026-04-23] ingest | CreateOS Internal-Research (5 docs)
- User added
raw/Internal-Research/: CreateOS_Growth_Playbook.md (503 lines), CreateOS_Playbook_Addendum_Inflection_Points.md (172), CreateOS_Playbook_Addendum2_Agent_Infra.md (221), CreateOS_Playbook_Addendum3_Crypto_Agent_BD.md (238), CreateOS_Playbook_OnePage_Reference.md (51). Total: 1,185 lines of internal strategy research. - Critical context shift: the competitive research is for CreateOS (NodeOps, founder NK). Dashboard + playbook reframed from "recommendations for anyone building in this space" to "recommendations for CreateOS specifically."
- Key findings from Internal-Research:
- CreateOS has MPP Gateway (HTTP 402 agent payments, live), router.nodeops.network (inference routing, live), marketplace with creator revenue share, AI Sandbox — an unassembled stack no competitor has.
- CreateOS is NOT on OpenAI's Agents SDK default provider list (E2B, Modal, Daytona, Cloudflare, Vercel, Blaxel, Runloop are). This is the #1 BD priority.
- Cloudflare declared itself "definitive platform for the agentic web" on April 13, 2026 (Agents Week). Category consolidating real-time — window measured in months.
- Recommended positioning pivot: from "prompt-to-live-app" to "the only agent sandbox where the agent can earn."
- x402 is now $600M annualized, co-governed by Coinbase + Cloudflare + Google + Visa. MPP must align publicly within 30 days (facilitator / extension / compatible — pick one).
- Three-factor hockey-stick formula: (new primitive) × (narrow product decision) × (distribution event). Bolt, Lovable, Cursor, Replit, Base44, Hugging Face, v0 all combined all three in 1-3 month windows.
- Named BD targets with contact paths: Karan Sharma (OpenAI Agents SDK), Rohan Varma (OpenAI Codex), Harrison Chase (LangChain), Sri Viswanath (Sycamore), Jansen Teng (Virtuals Protocol), Nish (HydraDB), x402 Foundation via Nemil Dalal.
- New wiki section: 7 pages under
wiki/createos/— Overview, Positioning & Wedge, The 10 Gaps, Three-Factor Inflection, BD Targets, 30-60-90 Plan, Risks & Mitigations. - Dashboard rewrite:
- New hero/lede framing ("three players, one unclaimed wedge").
- Prominent CreateOS strategic brief section at top with: unassembled-stack table, critical-gap callout (OpenAI Agents SDK), 3 top moves (reframe positioning / build Agents SDK integration / Agent Economy Week), three-factor hockey-stick formula applied, links to CreateOS pages.
- All 7 headline findings updated with CreateOS-specific implications.
- All 4 Playbook cards rewritten as CreateOS-specific moves (Acquisition = ship no-signup demo + SDK inclusion; Retention = per-agent spend caps + usage widget; Revenue = MPP↔x402 alignment + agent-economy tier; Strategy = Agent Economy Week in Month 2-3).
- Dark CTA strip updated.
- Footer "Go to" links prioritize CreateOS pages.
- Added
> 🎯 For CreateOS specifically:callouts at the top of each of the 7 playbook pages. - Updated
index.mdwith new CreateOS section (pinned above Competitors). - Purple accent color (
#5B21B6) introduced for CreateOS surfaces, distinct from Replit orange + Anything teal.
[2026-04-23] app | Flask web UI for competitor + resource management
- User requested a holistic product: UI for adding competitors, uploading files, updating resources, viewing current resources, getting insights.
- Built
app.py(Flask, port 5001) with endpoints:/(competitors list),/add(add form),/c/<name>(detail),/c/<name>/upload,/c/<name>/replace/<path>,/c/<name>/delete-resource,/c/<name>/delete,/c/<name>/build(insight generation),/c/<name>/preview/<path>(file preview). Plus pass-through serving ofdashboard.html,index.html,log.html,wiki/*.html,assets/*,raw/*. - Templates under
templates/: base.html, competitors.html, add_competitor.html, competitor_detail.html, 404.html — Jinja2. Aesthetic matches existing dashboard (cream bg, serif display, competitor accent colors). - Stylesheet
assets/app.css— form controls, resource table grouped by folder, insight panel, danger zone. - Insight generation flow (kept human-in-the-loop for quality): click "Regenerate + get Claude prompt" → runs
build.py+ returns a paste-ready prompt the user copies into Claude Code to trigger the ingest workflow from CLAUDE.md. - File upload: multi-file, auto-classifies by extension (
.png→screenshots/,.md→pages/,.pdf→docs/). Max 25 MB per file. Extensions restricted. - Security: path-traversal guards on all file operations (
safe_resource_pathhelper validates target is inside competitor's raw dir). - Installed Flask 3.1.3 via pip (user site).
- Updated
README.mdwith setup, workflow, and architecture notes. - Updated
CLAUDE.mdpreamble to note the app exists + what form the Claude-triggered prompts take. - Smoke-tested all endpoints: home (3 competitors), add form, detail pages, asset serving, wiki passthrough, dashboard passthrough, 404. All return expected status codes.
[2026-04-23] refactor | React frontend + Flask JSON API (backend/frontend split)
- User asked to make the frontend React-based with the Python backend, proper folder structure, without breaking anything.
- New layout:
backend/— Python package withapi.py(all routes refactored to return JSON for CRUD; static HTML passthroughs retained).frontend/— Vite + React + TypeScript SPA. Components: Layout, StatBar, FlashStack, UploadForm, ResourceRow, InsightsPanel, DangerZone. Pages: CompetitorsList, AddCompetitor, CompetitorDetail, NotFound. Shared: api.ts (typed fetch client), types.ts, flash.ts, styles.css.app.py— thin launcher at vault root:from backend.api import app. Keepspython3 app.pyworking.build.py— unchanged at root.- URL design:
/= React SPA,/api/*= JSON,/static/*= Vite bundle,/dashboard.html+/wiki/*+/assets/wiki.css= existing static HTML passthroughs. Renamed old/index.html→/wiki-index.htmlto avoid collision with React's index.html at/. - Flask static folder: pointed at
frontend/dist/static/so Flask's built-in/static/handler serves Vite-bundled assets without a custom route. - Removed:
templates/(old Jinja templates),assets/app.css(old app stylesheet), emptyflydotiostale folder. - Dev mode: Vite dev server at :5173 with proxy for
/api,/dashboard.html,/wiki/*, etc. to:5001. Optional — only when iterating on the frontend. - End-to-end smoke test:
- SPA at
/,/add,/c/:name→ all 200, all containid="root". - API:
/api/stats={competitors: 3, files: 26, wiki_pages: 34, ux_flows: 9}./api/competitorsreturns list./api/competitors/replitreturns detail with 13 resources + 34 wiki pages. - Static assets: JS (~184KB), CSS (~13KB) both 200.
- Passthroughs: dashboard.html, wiki-index.html, log.html, assets/wiki.css, wiki/*.html — all 200.
- CRUD: create cursor-test via
POST /api/competitors→ folder created with links.md + initial_notes.md → delete viaDELETE /api/competitors/cursor-test?confirm=cursor-test→ gone. Clean round-trip. - Updated docs: README.md rewritten with new folder structure, URL layout, setup + run commands, workflow diagram.
- Installed: flask 3.1.3 (Python), react 18.3.1 + react-router-dom 6.28 + vite 5.4 + typescript 5.6 (Node). 47 modules in the Vite build.
[2026-04-23] cleanup | remove unused files
- Audited the vault for orphan files (unreferenced anywhere in code or content).
- Removed:
Welcome.md+Welcome.html(Obsidian's default welcome note, never linked from anywhere) and the now-dead/Welcome.htmlFlask route. - Verified no
.DS_Store, no__pycache__, no empty directories. - Left alone (legitimately in use):
.obsidian/(Obsidian config),.git/(git history),.claude/(Claude Code state),CLAUDE.html(built output, served + proxied),node_modules/(required for Vite build),package-lock.json(npm lockfile).