← CommsLink

Ships

Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,358 ships and counting.

Reading this as an AI or a script? The complete record fits in a single request: /changelog.txt (all 2,358 ships, plain text) or /changelog.json (structured). This page shows 100 at a time.
All · 2,358CommsLink Chat · 686Carrier00 · 581Platform · 559Atlas · 270CommsLink Markets · 125Landing · 77AI-vertizing · 22Virtual Office · 14Terminal Agent · 14ai-npc · 6Forum · 3CommsLink Sounds · 1
Jul 16, 2026
Landing82a624c9

Ships feed: fix 'AI only sees 100' — a render-everything HTML page is ~5MB and fetchers truncate it. (1) NEW /changelog.txt: the COMPLETE record (all 2354 ships) as one compact plain-text line each, 304KB — fits a single fetch (the AI-readable complete feed). (2) /changelog HTML is now PAGINATED (?page=N, 100/page, Prev/Next + page indicator) instead of the ?all=1 truncation-trap. (3) Prominent in-page note + llms.txt point AIs to /changelog.txt (complete) / .json (structured). gen-changelog writes changelog.txt; /changelog.txt on no-store list. 728 tests green

Landingeb27054f

Ships /changelog hardening for AI fetchers: (1) lighten the default server-rendered view 300->100 ships (~702KB->~250KB HTML) so fetchers with size caps don't truncate it — ?all=1 still renders everything, /changelog.json has the full record; (2) override the layout's generic OG/Twitter tags with the Ships title/description (AI fetchers were reporting the site-wide 'Talk to AI' default); (3) add /changelog to sitemap.xml. Origin already verified fixed (nginx-only, no CDN, no-store, old client-shell strings gone) — remaining staleness was the AI fetcher's own cache; a fresh URL (?fresh=1) returns the server-rendered ships

Landing3fb57fc7

Ships feed: make /changelog AI-readable + fix classification. (1) CRITICAL: /changelog was 'use client' — the ships loaded via a browser fetch, so any AI/crawler reading the URL got an empty 'Loading…' shell. Rewrote it as a SERVER COMPONENT (plain SSR HTML, inline styles, no client JS): ships are now in the initial HTML, filtering is server-side via ?project= (chips are links), + page metadata + a ?all=1 to render the full set. (2) Classification now uses each commit's CHANGED FILES (classifyByFiles + PATH_RULES) not subject keywords — fixes the self-referential bug where the Ships-feed commit filed itself under Carrier00 for naming it (now correctly Landing). Chat 310->686, carrier00 612->581 as false-positives clear. gen-changelog.mjs reads --numstat. 728 tests green (+ file-based classify tests)

Landingc4d27f3a

Ships feed: serve the full notable history (2351) not just newest-400, so every project (markets, ai-npc, office, sounds, research...) is actually filterable — a small cap dropped older projects and filtering them showed empty. Chip counts now computed over served entries so they always match. changelog.json ~834KB (no-store, dedicated page; landing still uses tiny changelog-latest.json)

Landing0f6e5d2e

Ships feed: an honest, git-derived changelog of what the AI ships to prod across every CommsLink project. New /changelog page (timeline, per-project filter chips, version tags, load-more) + machine-readable /changelog.json for agents (linked from llms.txt) + a compact 'Recently Shipped' strip on the landing's living-lab monitor (under the code-activity graph). Data: scripts/gen-changelog.mjs reads git log across CommsLink2+Carrier00, classifies each commit to a project + extracts version via the pure, unit-tested scripts/changelogParse.mjs (7 tests); writes public/changelog.json (400 newest of 2350 notable ships) + a tiny changelog-latest.json for the landing. Wired into deploy.sh Step 0 (regenerates every web deploy, fails soft) and next.config no-store list. 725 tests green

Jul 11, 2026
Landinge7b4e287

Atlas: regenerate served /atlas-graph.json with meta.loc so the live demo's module/page buildings vary by lines of code (270/301 nodes stamped)

Landingv0.0.63e3b65b7c

Atlas ext 0.0.63 city polish (#20): LOC building heights + inspector, 4x datastores/S3 footprints, real 10x clouds, glowing gated container walls, thinner packages, half-depth pipes, crisp Mac terminal

Landingv0.0.60c70fd99a

Client->web bullet-trains (directional traffic on client routes) (PR #17)

Landingv0.0.592ae5f694

In-map file explorer + popup editor (edit/lint/save, workspace-sandboxed host fs) (PR #16)

Landingv0.0.5813071616

Improve button behind a setting + non-default themes tint the window chrome (opt-out) (PR #15)

Landingv0.0.570aa5c42f

Atlas: theme-aware Source Control colors + resizable diff inspector (ext 0.0.57) (PR #14)

Landinge5e93b29

CommsLink Sounds: /sounds sampler + 20 CC0 wavs + landing card (PR #12)

Landing0d7ef3f5

Remove SlackAnimals entirely — app, OAuth endpoints, landing page, home card, download, docs (privacy: no server in the Slack path)

Landingv0.2.08b602873

Setup hint (connect via ⚙, quit via tray/✕)

Landingdaeeee75

SlackAnimals: Download-for-Windows button (68MB portable exe on S3) + unsigned SmartScreen note

Landing33e512c7

SlackAnimals: home card + /slack-animals landing (PR #10 — read-only Slack dock pet)

Jul 10, 2026
Landingv0.0.28533f4dac

Atlas: x-ray pipes (Cursor approach) v0.0.28

Landing541999ab

Atlas: pipes always-on-top (no cover, no flip) — sync viewer

Landing681312b9

Atlas: consistent pipe depth (no angle flip) — sync viewer

Landingc48fa196

Atlas: pipe riser-before-door + softer container opacity — sync viewer

Landing2438dbde

Atlas: pipe emergence + camera/WASD + clouds — sync viewer

Landing86cc54ca

Atlas: pipe-to-door + suburb crowding — sync viewer

Landing92162dae

Atlas: pipe polish (no-overlap-glow, page path highlight, buried depth) — sync viewer

Landing41ba4ecc

Atlas: shared electric pipes (deduped, deep) — sync viewer

Landing3533b6c7

Atlas: subway rides the grid — sync viewer

Landingee8aa7a5

Atlas: subway tracks for client links — sync viewer

Landingcabbfc6d

Atlas: line-click + houses + client roads — sync viewer

Landingfa4b2b5c

Atlas: roof-member fix + cloud scatter — sync viewer

Landing549015e4

Atlas: camera orbit fallback + diff panel + guide — sync viewer

Landinga61a9605

Atlas: routing v3 — nearest-road on-ramps, road-width lanes — sync viewer

Landing9df83422

Atlas: FIX per-grid edge routing on real roads — sync viewer

Landing5d64e045

Atlas: full corner-turning edge routing — sync viewer

Landinga01fdc5d

Atlas: street-routed edges (Manhattan lanes) — sync viewer

Landing1e5a44f8

Atlas: bloom glow + street curbs/dashed center + taller buildings — sync viewer

Landing52b2e99f

Atlas: neon streets + degree-scaled modules/datastores — sync shared viewer

Landingb73d91b1

Atlas: sync shared viewer — gold borders, celebrations, Tron neon edges

Landingf385b785

Atlas activity: district glow + cycle pill + Changes panel — keep shared viewer in sync

Landinga9d1dec5

Atlas: activity-layer scene/viewer (glow + camera orbit) — keep shared component in sync

Landing32c2e94f

Atlas: ship Medusa (Shopify) + Medplum (FHIR healthtech) gallery examples

Landinga3bd1827

Atlas: ship tRPC gallery examples (Documenso + Cal.com) — rebuild with SCP'd files

Landing143b9b1c

Atlas: tRPC parser + Documenso (DocuSign) tRPC gallery example

Landing35b36567

Atlas: chat model picker (shared AtlasViewer models dropdown)

Landing6357f964

Exclude ~300MB of models from web image via .dockerignore (served from S3) — lighter/faster web builds

Landingfaa7a840

Serve avatar/room models (~300MB) from S3 (commslink-assets) via redirect — shrinks web build, faster deploys, no re-SCP

Jul 9, 2026
Landingf2c648ca

Verify fixed deploy pipeline (LF scripts + synchronous build)

Landingde2194f8

Fix deploy.sh: synchronous EC2 build (detached nohup trigger silently failed to run the build)

Landingd33530e0

Atlas CITY-1g + README lab-suite update

Jul 7, 2026
Landingeec27e34

Refresh code-activity graph through 2026-07-07 (r72-r82 session work)

Jul 6, 2026
Landingc67a6b5e

Fix code-activity graph windowing at 1m/1w — bucketize now drops buckets before the window start (the code JSON isn't pre-windowed like the traffic API, so it was drawing full history back to March)

Landinge5f4e8fb

Landing code-activity: add AI-era band (backfill = one Opus 4.8 era; auto-appends a new segment when CURRENT_MODEL changes in gen-code-activity.mjs). + ai-eras.json

Landingfcd3944f

Add 2nd 'Code Activity' graph under Site Activity — git churn (lines added/removed) across CommsLink2 + Carrier00, backfilled from full history, filtered to hand-written source (excludes bundles/locks). Shares the same time-frame buttons. + gen-code-activity.mjs + code-activity.json

Jul 3, 2026
Landing049372fd

Landing card graphs: weekly buckets -> DAILY over the last 90 days — the cards were mode=week/365d (a year of daily points is unreadable at sparkline size), but weekly bucketing made mid-week graphs read as stale ('Week of Jun 29' on a Friday) and a card's real question is 'is this app alive lately?'; daily/90d answers it with honest per-day points (today's point labeled 'Today'); the overview graph keeps its adaptive bucketing

Landing1c322721

Landing graphs: label the current partial bucket as live ('This week (so far)' / 'This month (so far)' / 'Today') — weekly buckets are Monday-based, so on a Friday every card's last point read 'Week of Jun 29' while silently accumulating this week's views inside it, which looked exactly like 'the graphs stopped updating on June 29'; the data pipeline was verified healthy end-to-end (page_view rows through today, series endpoints current — the chat card's 'stale' bucket contained 110 views from Jul 2)

Landing9504ce51

Ai-npc gets its canonical about page (same living-doc pattern as /chat/about): NEW /ai-npc/about rendered from services/web/content/ai-npc.md — what it is, quickstart, the real component API (AiNpc props from the shipped types), pluggable Brain/Voice interfaces (streaming, BYO provider, webspeech), surface affordances (sit/lie/stand/climb auto-scan + rescanAffordances), imperative handle (say/chat/walkTo/goTo), lineage to CommsLink Chat, and integration notes addressed to AI coding assistants; landing card gains a Learn More button; llms.txt now points agents at the overview as the conceptual entry with the repo as the code entry; /ai-npc/about added to no-store

Landingf6e90262

Ai-npc card + llms.txt accuracy: the landing card claimed 'the same engine powers the avatar in CommsLink Chat' — true at extraction time, drifted false as the chat engine evolved (touch/schemas/senses are XR-specific and not in the SDK); reframed as lineage ('the engine CommsLink Chat grew from, in its simplest embeddable form') + positioned for agent developers ('built to be integrated by AI coding assistants as much as by humans'); llms.txt gains a For-developers section pointing agents at the GitHub repo

Jun 27, 2026
Landing3d1c4d69

Remove the FFXIV Plugins project card

Jun 25, 2026
Landing050bee31

Add Virtual Office (Phase 1): walkable 3D office shell + landing card

Jun 20, 2026
Landing67a9cc00

Landing graphs: zero-fill buckets across the window + client mounted-gate so sparse/zero-traffic cards (carrier00, ai-browser, elevenvoicereader, ai-npc) render a line instead of vanishing

Landing662917f8

Site-wide activity monitor (combined views+time, All Time/1y/6m/1m/1w ranges); interactive graphs (hover tooltip w/ date+value, month-year axis ticks, 2nd time-on-page line); 4-up wider grid; Carrier00 ship icon; new page_time tracking (table + PageTimeTracker + /page-time API); recover orphaned PageViewTracker/Watchlist/MarketChatWidget into VCS

Landing90ff9683

Landing sparkline fix: normalize series dates to YYYY-MM-DD so weekly buckets parse (was Invalid Date → empty graphs)

Landinge25e7b0c

Landing page: add Carrier00, per-app view/click counters + 1-year growth sparklines (new /page-view/series API)

Jun 17, 2026
Landing4d61b9b0

Add ai-npc showcase card (open-source 3D AI NPC; links to GitHub)

Jun 15, 2026
Landing2c03c9f3

Security: rate-limit open AI-browser Grok endpoint, fail-closed agentic token, harden terminal safe-list, untrack .deploy.env; landing: rewrite Chat description

Apr 15, 2026
Landinga1583b31

Remove AI Kingdoms - Dark Ages card

Landingf1490202

Stop hijacking root URL — / always goes to /landing now, never auto-bounces logged-in users to /chat

Apr 8, 2026
Landing9c0579ad

Add AI Browser: Electron app with Claude as pair user

Mar 29, 2026
Landingb64c1d64

Fix: import npcStates in army.ts for step/rotate commands

Mar 28, 2026
Landing56ec3396

Add AI Fight Club to landing page products with download button

Mar 24, 2026
Landing3ccec786

Landing page: remove Voice API product (we don't offer that)

Landinga8d6b7f8

Landing page: add ElevenVoiceReader Chrome extension, adjust product grid to 4 columns

Mar 23, 2026
Landing13b6c91f

Landing page: update FFXIVoices to live with accurate description, fix credit count, add ElevenLabs to tech stack

Landingb8434da3

Company landing page: portfolio of products (Chat, FFXIVoices, Voice API), tech stack, stats

Landing7f995a18

Terms of Service, live stats on landing, Google Search Console verification, footer links

Mar 21, 2026
Landing611eb553

Add SEO: meta tags, OG image, robots.txt, sitemap.xml, landing page metadata

Landing49a95571

Add landing page for new visitors

Landinga5cc224a

Add landing page with CTA, update register features, redirect home to landing

Mar 13, 2026
Landingd0cbe272

Task 4: Replace public chat with about page (features/CTA), home redirect for non-logged-in, About nav icon. No public chat button

Generated 2026-07-16 from git across all CommsLink repos · page 1/1, showing 177 of 77 Landing ships · complete record: /changelog.txt · /changelog.json.