Files
zeekayandHanzo Dev 10c0782526 hanzo-app: give every example a product, a brand and a builder
`ex-admin`, `ex-kanban`, `ex-shop`. That is not a name, it is a filing
code, and it told every visitor that what they were looking at was a
sample of something rather than a thing. Nobody bookmarks Example #47.

So each one is now a product: a name, a mark, a hue that drives the kit's
--acc so the whole page inherits it, and a tagline in its own voice.
ex-kanban is Lanes — "a board with WIP limits that mean something, because
they stop you". The identity lives in ONE place (products.json) and the
shell is the only way a product is built, so an unbranded page cannot be
published.

AND A BUILDER. Ten named agents (agents.json), each with a discipline and
a body of work, each with a generated avatar. The byline reads "<Product>
— published by Hanzo AI, built by <Agent>, an AI agent working on <X>".
That is honest attribution, not decoration: the agent really did write the
app. They are described as what they are and never dressed as people — no
biography, no employer, no photograph, no testimonial. HIP-903. An agent
that genuinely built the thing needs none of that, and inventing it would
turn a true story into a false one.

LINEAGE IS RECORDED, NOT ASSERTED. Every product's project is created by
POST /v1/projects/fork from a gallery template, so projects.forked_from is
a fact the platform wrote at fork time. 74/74, across 28 parent templates.

AND FOR SIX OF THEM, THE BYTES ARE THE TEMPLATE'S. derive.py checks out
the parent, applies the agent's edit to its SOURCE, runs the template's
own build, and ships that. The diff is the point — proof the product is a
derivative and proof a template is agent-editable, in one artifact. It
also found what the pre-built demos were hiding: four templates did not
compile at all, and several 404'd on an /api/placeholder route that cannot
exist on a static host. Fixed upstream and in the edit respectively.

The other 68 carry a real fork edge but ship the kit build. Said plainly
in the README rather than papered over.

One slug now names the source file, the project and the host.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 09:36:36 -07:00

1816 lines
32 KiB
JSON

[
{
"slug": "almanac",
"status": 200,
"ok": true,
"errs": [],
"nodes": 106,
"text": 1688,
"badge": true,
"canvas": false,
"gl": null,
"title": "Almanac \u2014 API reference that a human can read and a machine can check."
},
{
"slug": "antipode",
"status": 200,
"ok": true,
"errs": [],
"nodes": 321,
"text": 1475,
"badge": true,
"canvas": false,
"gl": null,
"title": "Antipode \u2014 What time it is for everyone else, before you send the invite."
},
{
"slug": "apogee",
"status": 200,
"ok": true,
"errs": [],
"nodes": 36,
"text": 2014,
"badge": true,
"canvas": true,
"gl": true,
"title": "Apogee \u2014 Orbital mechanics you can drag with a mouse.",
"ink": 33.9
},
{
"slug": "armada",
"status": 200,
"ok": true,
"errs": [],
"nodes": 264,
"text": 806,
"badge": true,
"canvas": false,
"gl": null,
"title": "Armada \u2014 Every machine you run, on one screen, sorted by how worried you should be."
},
{
"slug": "atelier",
"status": 200,
"ok": true,
"errs": [],
"nodes": 76,
"text": 1036,
"badge": true,
"canvas": true,
"gl": true,
"title": "Atelier \u2014 A portfolio that gets out of the way of the work.",
"ink": 55.7
},
{
"slug": "ballot",
"status": 200,
"ok": true,
"errs": [],
"nodes": 62,
"text": 559,
"badge": true,
"canvas": false,
"gl": null,
"title": "Ballot \u2014 Ask the room, and watch the bars move while they answer."
},
{
"slug": "bazaar",
"status": 200,
"ok": true,
"errs": [],
"nodes": 272,
"text": 746,
"badge": true,
"canvas": false,
"gl": null,
"title": "Bazaar \u2014 A marketplace with two sides and one set of rules."
},
{
"slug": "bellwether",
"status": 200,
"ok": true,
"errs": [],
"nodes": 88,
"text": 874,
"badge": true,
"canvas": false,
"gl": null,
"title": "Bellwether \u2014 Ship it to one percent first. Feature flags with a blast radius."
},
{
"slug": "bistro",
"status": 200,
"ok": true,
"errs": [],
"nodes": 155,
"text": 994,
"badge": true,
"canvas": false,
"gl": null,
"title": "Bistro \u2014 The menu, the table, the order. Nobody downloads an app to eat."
},
{
"slug": "cadence",
"status": 200,
"ok": true,
"errs": [],
"nodes": 201,
"text": 1117,
"badge": true,
"canvas": false,
"gl": null,
"title": "Cadence \u2014 The four numbers that matter, above the fold, always."
},
{
"slug": "cartograph",
"status": 200,
"ok": true,
"errs": [],
"nodes": 253,
"text": 1320,
"badge": true,
"canvas": true,
"gl": true,
"title": "Cartograph \u2014 Points, routes and regions on a map you can actually read.",
"ink": 32.3
},
{
"slug": "chorus",
"status": 200,
"ok": true,
"errs": [],
"nodes": 165,
"text": 1909,
"badge": true,
"canvas": false,
"gl": null,
"title": "Chorus \u2014 Let the people who use it tell you what to build next, and count the votes."
},
{
"slug": "cog",
"status": 200,
"ok": true,
"errs": [],
"nodes": 29,
"text": 558,
"badge": true,
"canvas": false,
"gl": null,
"title": "Cog \u2014 An agent that shows its work: every tool call, argument and result, in order."
},
{
"slug": "commons",
"status": 200,
"ok": true,
"errs": [],
"nodes": 157,
"text": 2064,
"badge": true,
"canvas": false,
"gl": null,
"title": "Commons \u2014 A place to argue in public and still be able to find the thread tomorrow."
},
{
"slug": "compass",
"status": 200,
"ok": true,
"errs": [],
"nodes": 111,
"text": 838,
"badge": true,
"canvas": false,
"gl": null,
"title": "Compass \u2014 What ships when, and what it is waiting on."
},
{
"slug": "conduit",
"status": 200,
"ok": true,
"errs": [],
"nodes": 79,
"text": 408,
"badge": true,
"canvas": false,
"gl": null,
"title": "Conduit \u2014 Wire steps together and watch the data flow through the graph."
},
{
"slug": "convene",
"status": 200,
"ok": true,
"errs": [],
"nodes": 113,
"text": 1146,
"badge": true,
"canvas": false,
"gl": null,
"title": "Convene \u2014 Publish an event, take RSVPs, and know who is actually coming."
},
{
"slug": "courier",
"status": 200,
"ok": true,
"errs": [],
"nodes": 67,
"text": 427,
"badge": true,
"canvas": false,
"gl": null,
"title": "Courier \u2014 Messages that arrive while you are looking at them."
},
{
"slug": "cubit",
"status": 200,
"ok": true,
"errs": [],
"nodes": 36,
"text": 441,
"badge": true,
"canvas": true,
"gl": true,
"title": "Cubit \u2014 Build a world one cube at a time, then walk around inside it.",
"ink": 33.8
},
{
"slug": "current",
"status": 200,
"ok": true,
"errs": [],
"nodes": 199,
"text": 1622,
"badge": true,
"canvas": false,
"gl": null,
"title": "Current \u2014 A feed with a reading position, because you have a life."
},
{
"slug": "cutlass",
"status": 200,
"ok": true,
"errs": [],
"nodes": 87,
"text": 1072,
"badge": true,
"canvas": false,
"gl": null,
"title": "Cutlass \u2014 A companion for the command line that remembers what you ran."
},
{
"slug": "darkroom",
"status": 200,
"ok": true,
"errs": [],
"nodes": 183,
"text": 794,
"badge": true,
"canvas": true,
"gl": true,
"title": "Darkroom \u2014 A gallery that gives the photograph the whole screen.",
"ink": 34.0
},
{
"slug": "daydream",
"status": 200,
"ok": true,
"errs": [],
"nodes": 62,
"text": 578,
"badge": true,
"canvas": false,
"gl": null,
"title": "Daydream \u2014 Describe it, generate it, keep the good ones, and keep the prompt."
},
{
"slug": "deskline",
"status": 200,
"ok": true,
"errs": [],
"nodes": 298,
"text": 1513,
"badge": true,
"canvas": false,
"gl": null,
"title": "Deskline \u2014 Tickets in, answers out, with a queue that tells the truth."
},
{
"slug": "ex-admin",
"status": 200,
"ok": true,
"errs": [],
"nodes": 435,
"text": 1826,
"badge": true,
"canvas": false,
"gl": null,
"title": "Console Admin \u00b7 Hanzo Example"
},
{
"slug": "ex-agent",
"status": 200,
"ok": true,
"errs": [],
"nodes": 29,
"text": 558,
"badge": true,
"canvas": false,
"gl": null,
"title": "Agent \u00b7 Hanzo Example"
},
{
"slug": "ex-apiref",
"status": 200,
"ok": true,
"errs": [],
"nodes": 106,
"text": 1690,
"badge": true,
"canvas": false,
"gl": null,
"title": "API Reference \u00b7 Hanzo Example"
},
{
"slug": "ex-arena",
"status": 200,
"ok": true,
"errs": [],
"nodes": 27,
"text": 330,
"badge": true,
"canvas": true,
"gl": true,
"title": "Arena \u00b7 Hanzo Example",
"ink": 12.7
},
{
"slug": "ex-askdocs",
"status": 200,
"ok": true,
"errs": [],
"nodes": 58,
"text": 961,
"badge": true,
"canvas": false,
"gl": null,
"title": "AskDocs \u00b7 Hanzo Example"
},
{
"slug": "ex-assistant",
"status": 200,
"ok": true,
"errs": [],
"nodes": 46,
"text": 689,
"badge": true,
"canvas": false,
"gl": null,
"title": "Assistant \u00b7 Hanzo Example"
},
{
"slug": "ex-booking",
"status": 200,
"ok": true,
"errs": [],
"nodes": 142,
"text": 649,
"badge": true,
"canvas": false,
"gl": null,
"title": "Timeslot \u00b7 Hanzo Example"
},
{
"slug": "ex-budget",
"status": 200,
"ok": true,
"errs": [],
"nodes": 149,
"text": 713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Budget \u00b7 Hanzo Example"
},
{
"slug": "ex-checkout",
"status": 200,
"ok": true,
"errs": [],
"nodes": 94,
"text": 519,
"badge": true,
"canvas": false,
"gl": null,
"title": "Checkout \u00b7 Hanzo Example"
},
{
"slug": "ex-cms",
"status": 200,
"ok": true,
"errs": [],
"nodes": 45,
"text": 301,
"badge": true,
"canvas": false,
"gl": null,
"title": "Content \u00b7 Hanzo Example"
},
{
"slug": "ex-collab",
"status": 200,
"ok": true,
"errs": [],
"nodes": 48,
"text": 477,
"badge": true,
"canvas": false,
"gl": null,
"title": "Collab \u00b7 Hanzo Example"
},
{
"slug": "ex-console",
"status": 200,
"ok": true,
"errs": [],
"nodes": 111,
"text": 563,
"badge": true,
"canvas": false,
"gl": null,
"title": "Console \u00b7 Hanzo Example"
},
{
"slug": "ex-contacts",
"status": 200,
"ok": true,
"errs": [],
"nodes": 409,
"text": 2713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Contacts \u00b7 Hanzo Example"
},
{
"slug": "ex-course",
"status": 200,
"ok": true,
"errs": [],
"nodes": 68,
"text": 1054,
"badge": true,
"canvas": false,
"gl": null,
"title": "Course \u00b7 Hanzo Example"
},
{
"slug": "ex-crm",
"status": 200,
"ok": true,
"errs": [],
"nodes": 232,
"text": 1015,
"badge": true,
"canvas": false,
"gl": null,
"title": "Relay CRM \u00b7 Hanzo Example"
},
{
"slug": "ex-deck",
"status": 200,
"ok": true,
"errs": [],
"nodes": 68,
"text": 987,
"badge": true,
"canvas": false,
"gl": null,
"title": "Deck \u00b7 Hanzo Example"
},
{
"slug": "ex-diff",
"status": 200,
"ok": true,
"errs": [],
"nodes": 119,
"text": 905,
"badge": true,
"canvas": false,
"gl": null,
"title": "Review \u00b7 Hanzo Example"
},
{
"slug": "ex-etl",
"status": 200,
"ok": true,
"errs": [],
"nodes": 92,
"text": 568,
"badge": true,
"canvas": false,
"gl": null,
"title": "Sluice \u00b7 Hanzo Example"
},
{
"slug": "ex-events",
"status": 200,
"ok": true,
"errs": [],
"nodes": 113,
"text": 1146,
"badge": true,
"canvas": false,
"gl": null,
"title": "Events \u00b7 Hanzo Example"
},
{
"slug": "ex-expenses",
"status": 200,
"ok": true,
"errs": [],
"nodes": 329,
"text": 1671,
"badge": true,
"canvas": false,
"gl": null,
"title": "Expenses \u00b7 Hanzo Example"
},
{
"slug": "ex-feed",
"status": 200,
"ok": true,
"errs": [],
"nodes": 199,
"text": 1622,
"badge": true,
"canvas": false,
"gl": null,
"title": "Current \u00b7 Hanzo Example"
},
{
"slug": "ex-feedback",
"status": 200,
"ok": true,
"errs": [],
"nodes": 165,
"text": 1909,
"badge": true,
"canvas": false,
"gl": null,
"title": "Feedback \u00b7 Hanzo Example"
},
{
"slug": "ex-flags",
"status": 200,
"ok": true,
"errs": [],
"nodes": 88,
"text": 874,
"badge": true,
"canvas": false,
"gl": null,
"title": "Flags \u00b7 Hanzo Example"
},
{
"slug": "ex-fleet",
"status": 200,
"ok": true,
"errs": [],
"nodes": 264,
"text": 810,
"badge": true,
"canvas": false,
"gl": null,
"title": "Fleet \u00b7 Hanzo Example"
},
{
"slug": "ex-flow",
"status": 200,
"ok": true,
"errs": [],
"nodes": 79,
"text": 408,
"badge": true,
"canvas": false,
"gl": null,
"title": "Flow \u00b7 Hanzo Example"
},
{
"slug": "ex-folio",
"status": 200,
"ok": true,
"errs": [],
"nodes": 76,
"text": 1036,
"badge": true,
"canvas": true,
"gl": true,
"title": "Folio \u00b7 Hanzo Example",
"ink": 57.2
},
{
"slug": "ex-forms",
"status": 200,
"ok": true,
"errs": [],
"nodes": 129,
"text": 798,
"badge": true,
"canvas": false,
"gl": null,
"title": "Forms \u00b7 Hanzo Example"
},
{
"slug": "ex-forum",
"status": 200,
"ok": true,
"errs": [],
"nodes": 157,
"text": 2064,
"badge": true,
"canvas": false,
"gl": null,
"title": "Commons \u00b7 Hanzo Example"
},
{
"slug": "ex-globe",
"status": 200,
"ok": true,
"errs": [],
"nodes": 89,
"text": 672,
"badge": true,
"canvas": true,
"gl": true,
"title": "Globe \u00b7 Hanzo Example",
"ink": 34.3
},
{
"slug": "ex-habit",
"status": 200,
"ok": true,
"errs": [],
"nodes": 800,
"text": 531,
"badge": true,
"canvas": false,
"gl": null,
"title": "Streaks \u00b7 Hanzo Example"
},
{
"slug": "ex-handbook",
"status": 200,
"ok": true,
"errs": [],
"nodes": 64,
"text": 936,
"badge": true,
"canvas": false,
"gl": null,
"title": "Handbook \u00b7 Hanzo Example"
},
{
"slug": "ex-helpdesk",
"status": 200,
"ok": true,
"errs": [],
"nodes": 298,
"text": 1513,
"badge": true,
"canvas": false,
"gl": null,
"title": "Deskline \u00b7 Hanzo Example"
},
{
"slug": "ex-i18n",
"status": 200,
"ok": true,
"errs": [],
"nodes": 131,
"text": 811,
"badge": true,
"canvas": false,
"gl": null,
"title": "Strings \u00b7 Hanzo Example"
},
{
"slug": "ex-imagine",
"status": 200,
"ok": true,
"errs": [],
"nodes": 62,
"text": 578,
"badge": true,
"canvas": false,
"gl": null,
"title": "Imagine \u00b7 Hanzo Example"
},
{
"slug": "ex-inbox",
"status": 200,
"ok": true,
"errs": [],
"nodes": 67,
"text": 427,
"badge": true,
"canvas": false,
"gl": null,
"title": "Inbox \u00b7 Hanzo Example"
},
{
"slug": "ex-inventory",
"status": 200,
"ok": true,
"errs": [],
"nodes": 344,
"text": 1299,
"badge": true,
"canvas": false,
"gl": null,
"title": "Stockroom \u00b7 Hanzo Example"
},
{
"slug": "ex-invoice",
"status": 200,
"ok": true,
"errs": [],
"nodes": 144,
"text": 713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Invoice \u00b7 Hanzo Example"
},
{
"slug": "ex-jobs",
"status": 200,
"ok": true,
"errs": [],
"nodes": 134,
"text": 1275,
"badge": true,
"canvas": false,
"gl": null,
"title": "Careers \u00b7 Hanzo Example"
},
{
"slug": "ex-journal",
"status": 200,
"ok": true,
"errs": [],
"nodes": 87,
"text": 1485,
"badge": true,
"canvas": false,
"gl": null,
"title": "Journal \u00b7 Hanzo Example"
},
{
"slug": "ex-jsonlab",
"status": 200,
"ok": true,
"errs": [],
"nodes": 157,
"text": 510,
"badge": true,
"canvas": false,
"gl": null,
"title": "JSON Lab \u00b7 Hanzo Example"
},
{
"slug": "ex-kanban",
"status": 200,
"ok": true,
"errs": [],
"nodes": 134,
"text": 746,
"badge": true,
"canvas": false,
"gl": null,
"title": "Lanes \u00b7 Hanzo Example"
},
{
"slug": "ex-map",
"status": 200,
"ok": true,
"errs": [],
"nodes": 253,
"text": 1320,
"badge": true,
"canvas": true,
"gl": true,
"title": "Map \u00b7 Hanzo Example",
"ink": 32.3
},
{
"slug": "ex-market",
"status": 200,
"ok": true,
"errs": [],
"nodes": 200,
"text": 1081,
"badge": true,
"canvas": false,
"gl": null,
"title": "Bazaar \u00b7 Hanzo Example"
},
{
"slug": "ex-meet",
"status": 200,
"ok": true,
"errs": [],
"nodes": 71,
"text": 629,
"badge": true,
"canvas": false,
"gl": null,
"title": "Meet \u00b7 Hanzo Example"
},
{
"slug": "ex-menu",
"status": 200,
"ok": true,
"errs": [],
"nodes": 155,
"text": 994,
"badge": true,
"canvas": false,
"gl": null,
"title": "Menu \u00b7 Hanzo Example"
},
{
"slug": "ex-notes",
"status": 200,
"ok": true,
"errs": [],
"nodes": 61,
"text": 663,
"badge": true,
"canvas": false,
"gl": null,
"title": "Notes \u00b7 Hanzo Example"
},
{
"slug": "ex-onboard",
"status": 200,
"ok": true,
"errs": [],
"nodes": 33,
"text": 391,
"badge": true,
"canvas": false,
"gl": null,
"title": "Onboard \u00b7 Hanzo Example"
},
{
"slug": "ex-orbit",
"status": 200,
"ok": true,
"errs": [],
"nodes": 36,
"text": 2014,
"badge": true,
"canvas": true,
"gl": true,
"title": "Orbit \u00b7 Hanzo Example",
"ink": 30.5
},
{
"slug": "ex-orgchart",
"status": 200,
"ok": true,
"errs": [],
"nodes": 185,
"text": 986,
"badge": true,
"canvas": false,
"gl": null,
"title": "Directory \u00b7 Hanzo Example"
},
{
"slug": "ex-particles",
"status": 200,
"ok": true,
"errs": [],
"nodes": 38,
"text": 433,
"badge": true,
"canvas": true,
"gl": true,
"title": "Particles \u00b7 Hanzo Example",
"ink": 108.4
},
{
"slug": "ex-photos",
"status": 200,
"ok": true,
"errs": [],
"nodes": 183,
"text": 794,
"badge": true,
"canvas": true,
"gl": true,
"title": "Photos \u00b7 Hanzo Example",
"ink": 34.0
},
{
"slug": "ex-pixels",
"status": 200,
"ok": true,
"errs": [],
"nodes": 41,
"text": 318,
"badge": true,
"canvas": true,
"gl": true,
"title": "Pixels \u00b7 Hanzo Example",
"ink": 66.0
},
{
"slug": "ex-poll",
"status": 200,
"ok": true,
"errs": [],
"nodes": 62,
"text": 559,
"badge": true,
"canvas": false,
"gl": null,
"title": "Poll \u00b7 Hanzo Example"
},
{
"slug": "ex-prompts",
"status": 200,
"ok": true,
"errs": [],
"nodes": 56,
"text": 659,
"badge": true,
"canvas": false,
"gl": null,
"title": "Prompts \u00b7 Hanzo Example"
},
{
"slug": "ex-pulse",
"status": 200,
"ok": true,
"errs": [],
"nodes": 118,
"text": 471,
"badge": true,
"canvas": false,
"gl": null,
"title": "Pulse \u00b7 Hanzo Example"
},
{
"slug": "ex-qa",
"status": 200,
"ok": true,
"errs": [],
"nodes": 131,
"text": 1681,
"badge": true,
"canvas": false,
"gl": null,
"title": "Answers \u00b7 Hanzo Example"
},
{
"slug": "ex-queue",
"status": 200,
"ok": true,
"errs": [],
"nodes": 119,
"text": 646,
"badge": true,
"canvas": false,
"gl": null,
"title": "Queue \u00b7 Hanzo Example"
},
{
"slug": "ex-regex",
"status": 200,
"ok": true,
"errs": [],
"nodes": 159,
"text": 1501,
"badge": true,
"canvas": false,
"gl": null,
"title": "Regex \u00b7 Hanzo Example"
},
{
"slug": "ex-releases",
"status": 200,
"ok": true,
"errs": [],
"nodes": 161,
"text": 2064,
"badge": true,
"canvas": false,
"gl": null,
"title": "Releases \u00b7 Hanzo Example"
},
{
"slug": "ex-roadmap",
"status": 200,
"ok": true,
"errs": [],
"nodes": 111,
"text": 838,
"badge": true,
"canvas": false,
"gl": null,
"title": "Roadmap \u00b7 Hanzo Example"
},
{
"slug": "ex-screen",
"status": 200,
"ok": true,
"errs": [],
"nodes": 27,
"text": 470,
"badge": true,
"canvas": false,
"gl": null,
"title": "Screen \u00b7 Hanzo Example"
},
{
"slug": "ex-sheets",
"status": 200,
"ok": true,
"errs": [],
"nodes": 418,
"text": 784,
"badge": true,
"canvas": false,
"gl": null,
"title": "Sheets \u00b7 Hanzo Example"
},
{
"slug": "ex-shell",
"status": 200,
"ok": true,
"errs": [],
"nodes": 87,
"text": 1072,
"badge": true,
"canvas": false,
"gl": null,
"title": "Shell \u00b7 Hanzo Example"
},
{
"slug": "ex-shop",
"status": 200,
"ok": true,
"errs": [],
"nodes": 182,
"text": 976,
"badge": true,
"canvas": false,
"gl": null,
"title": "Kindling \u00b7 Hanzo Example"
},
{
"slug": "ex-studio",
"status": 200,
"ok": true,
"errs": [],
"nodes": 160,
"text": 397,
"badge": true,
"canvas": true,
"gl": true,
"title": "Sound \u00b7 Hanzo Example",
"ink": 4.8
},
{
"slug": "ex-terrain",
"status": 200,
"ok": true,
"errs": [],
"nodes": 34,
"text": 358,
"badge": true,
"canvas": true,
"gl": true,
"title": "Terrain \u00b7 Hanzo Example",
"ink": 11.3
},
{
"slug": "ex-timezones",
"status": 200,
"ok": true,
"errs": [],
"nodes": 321,
"text": 1471,
"badge": true,
"canvas": false,
"gl": null,
"title": "Timezones \u00b7 Hanzo Example"
},
{
"slug": "ex-tokens",
"status": 200,
"ok": true,
"errs": [],
"nodes": 311,
"text": 1123,
"badge": true,
"canvas": false,
"gl": null,
"title": "Tokens \u00b7 Hanzo Example"
},
{
"slug": "ex-uptime",
"status": 200,
"ok": true,
"errs": [],
"nodes": 744,
"text": 881,
"badge": true,
"canvas": false,
"gl": null,
"title": "Uptime \u00b7 Hanzo Example"
},
{
"slug": "ex-vectors",
"status": 200,
"ok": true,
"errs": [],
"nodes": 54,
"text": 1243,
"badge": true,
"canvas": true,
"gl": true,
"title": "Vectors \u00b7 Hanzo Example",
"ink": 13.6
},
{
"slug": "ex-video",
"status": 200,
"ok": true,
"errs": [],
"nodes": 87,
"text": 681,
"badge": true,
"canvas": false,
"gl": null,
"title": "Stream \u00b7 Hanzo Example"
},
{
"slug": "ex-voxel",
"status": 200,
"ok": true,
"errs": [],
"nodes": 36,
"text": 441,
"badge": true,
"canvas": true,
"gl": true,
"title": "Voxel \u00b7 Hanzo Example",
"ink": 33.8
},
{
"slug": "ex-waitlist",
"status": 200,
"ok": true,
"errs": [],
"nodes": 55,
"text": 1394,
"badge": true,
"canvas": false,
"gl": null,
"title": "Liftoff \u00b7 Hanzo Example"
},
{
"slug": "ex-whiteboard",
"status": 200,
"ok": true,
"errs": [],
"nodes": 28,
"text": 297,
"badge": true,
"canvas": true,
"gl": true,
"title": "Board \u00b7 Hanzo Example",
"ink": 36.4
},
{
"slug": "examples",
"status": 200,
"ok": true,
"errs": [],
"nodes": 1062,
"text": 10642,
"badge": true,
"canvas": false,
"gl": null,
"title": "Hanzo Products \u2014 Every product Hanzo publishes, and the agent that built it."
},
{
"slug": "fieldwork",
"status": 200,
"ok": true,
"errs": [],
"nodes": 129,
"text": 798,
"badge": true,
"canvas": false,
"gl": null,
"title": "Fieldwork \u2014 Build the form, take the answers, keep the answers."
},
{
"slug": "footnote",
"status": 200,
"ok": true,
"errs": [],
"nodes": 58,
"text": 961,
"badge": true,
"canvas": false,
"gl": null,
"title": "Footnote \u2014 Ask your documentation a question and get the paragraph it came from."
},
{
"slug": "gridline",
"status": 200,
"ok": true,
"errs": [],
"nodes": 418,
"text": 784,
"badge": true,
"canvas": false,
"gl": null,
"title": "Gridline \u2014 A spreadsheet several people can be wrong in at the same time."
},
{
"slug": "grimoire",
"status": 200,
"ok": true,
"errs": [],
"nodes": 56,
"text": 659,
"badge": true,
"canvas": false,
"gl": null,
"title": "Grimoire \u2014 A prompt library with versions, variables and a diff between them."
},
{
"slug": "halcyon",
"status": 200,
"ok": true,
"errs": [],
"nodes": 46,
"text": 689,
"badge": true,
"canvas": false,
"gl": null,
"title": "Halcyon \u2014 A calm assistant: streaming answers, threads that persist, nothing that shouts."
},
{
"slug": "helm",
"status": 200,
"ok": true,
"errs": [],
"nodes": 111,
"text": 563,
"badge": true,
"canvas": false,
"gl": null,
"title": "Helm \u2014 The SaaS dashboard you can hand to a customer on day one."
},
{
"slug": "highland",
"status": 200,
"ok": true,
"errs": [],
"nodes": 34,
"text": 358,
"badge": true,
"canvas": true,
"gl": true,
"title": "Highland \u2014 Generated landscape you can fly over, seeded by a number.",
"ink": 34.1
},
{
"slug": "kindling",
"status": 200,
"ok": true,
"errs": [],
"nodes": 182,
"text": 976,
"badge": true,
"canvas": false,
"gl": null,
"title": "Kindling \u2014 A storefront small enough to launch this afternoon."
},
{
"slug": "kith",
"status": 200,
"ok": true,
"errs": [],
"nodes": 409,
"text": 2713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Kith \u2014 Everyone you know, and the last thing you said to them."
},
{
"slug": "lanes",
"status": 200,
"ok": true,
"errs": [],
"nodes": 336,
"text": 1129,
"badge": true,
"canvas": false,
"gl": null,
"title": "Lanes \u2014 A board with WIP limits that mean something, because they stop you."
},
{
"slug": "liftoff",
"status": 200,
"ok": true,
"errs": [],
"nodes": 55,
"text": 1394,
"badge": true,
"canvas": false,
"gl": null,
"title": "Liftoff \u2014 A launch page with one job: take the email address."
},
{
"slug": "lodestone",
"status": 200,
"ok": true,
"errs": [],
"nodes": 54,
"text": 1243,
"badge": true,
"canvas": true,
"gl": true,
"title": "Lodestone \u2014 Embedding search you can inspect: the vector, the neighbours, the distance.",
"ink": 14.0
},
{
"slug": "longform",
"status": 200,
"ok": true,
"errs": [],
"nodes": 246,
"text": 1384,
"badge": true,
"canvas": false,
"gl": null,
"title": "Longform \u2014 Publishing for people with something long to say."
},
{
"slug": "marginalia",
"status": 200,
"ok": true,
"errs": [],
"nodes": 204,
"text": 1224,
"badge": true,
"canvas": false,
"gl": null,
"title": "Marginalia \u2014 Notes that link to each other, and a backlink panel that earns its space."
},
{
"slug": "meridian",
"status": 200,
"ok": true,
"errs": [],
"nodes": 89,
"text": 672,
"badge": true,
"canvas": true,
"gl": true,
"title": "Meridian \u2014 The whole planet at sixty frames a second, with your data on it.",
"ink": 34.3
},
{
"slug": "milestone",
"status": 200,
"ok": true,
"errs": [],
"nodes": 161,
"text": 2064,
"badge": true,
"canvas": false,
"gl": null,
"title": "Milestone \u2014 A changelog your users will read, because it is written for them."
},
{
"slug": "needle",
"status": 200,
"ok": true,
"errs": [],
"nodes": 159,
"text": 1501,
"badge": true,
"canvas": false,
"gl": null,
"title": "Needle \u2014 Write the pattern, see the match, understand the group."
},
{
"slug": "northgate",
"status": 200,
"ok": true,
"errs": [],
"nodes": 435,
"text": 1826,
"badge": true,
"canvas": false,
"gl": null,
"title": "Northgate \u2014 The admin console for the tables nobody else will look after."
},
{
"slug": "outlay",
"status": 200,
"ok": true,
"errs": [],
"nodes": 329,
"text": 1671,
"badge": true,
"canvas": false,
"gl": null,
"title": "Outlay \u2014 Receipts in, reimbursement out, with the approval in between."
},
{
"slug": "peek",
"status": 200,
"ok": true,
"errs": [],
"nodes": 27,
"text": 470,
"badge": true,
"canvas": false,
"gl": null,
"title": "Peek \u2014 Share the screen, record the screen, send the file."
},
{
"slug": "pennyworth",
"status": 200,
"ok": true,
"errs": [],
"nodes": 149,
"text": 713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Pennyworth \u2014 Household budgeting for people who want the envelope back."
},
{
"slug": "podium",
"status": 200,
"ok": true,
"errs": [],
"nodes": 68,
"text": 987,
"badge": true,
"canvas": false,
"gl": null,
"title": "Podium \u2014 Slides in the browser. Present, or send the link and let them read it."
},
{
"slug": "polyglot",
"status": 200,
"ok": true,
"errs": [],
"nodes": 131,
"text": 811,
"badge": true,
"canvas": false,
"gl": null,
"title": "Polyglot \u2014 Every string, every locale, and the ones nobody translated yet."
},
{
"slug": "quill",
"status": 200,
"ok": true,
"errs": [],
"nodes": 45,
"text": 301,
"badge": true,
"canvas": false,
"gl": null,
"title": "Quill \u2014 Model the content, then edit it. Fields first, WYSIWYG second."
},
{
"slug": "quorum",
"status": 200,
"ok": true,
"errs": [],
"nodes": 131,
"text": 1681,
"badge": true,
"canvas": false,
"gl": null,
"title": "Quorum \u2014 Questions with accepted answers, and a reason the answer was accepted."
},
{
"slug": "redline",
"status": 200,
"ok": true,
"errs": [],
"nodes": 119,
"text": 905,
"badge": true,
"canvas": false,
"gl": null,
"title": "Redline \u2014 Code review as a reading experience: the diff, the reason, the decision."
},
{
"slug": "reel",
"status": 200,
"ok": true,
"errs": [],
"nodes": 269,
"text": 1756,
"badge": true,
"canvas": false,
"gl": null,
"title": "Reel \u2014 Video streaming with a shelf, a player and a resume position."
},
{
"slug": "relay",
"status": 200,
"ok": true,
"errs": [],
"nodes": 232,
"text": 1015,
"badge": true,
"canvas": false,
"gl": null,
"title": "Relay \u2014 A pipeline you can actually move deals through with one hand."
},
{
"slug": "remit",
"status": 200,
"ok": true,
"errs": [],
"nodes": 144,
"text": 713,
"badge": true,
"canvas": false,
"gl": null,
"title": "Remit \u2014 Line items in, PDF out, paid or not paid \u2014 nothing else."
},
{
"slug": "reverb",
"status": 200,
"ok": true,
"errs": [],
"nodes": 160,
"text": 397,
"badge": true,
"canvas": true,
"gl": true,
"title": "Reverb \u2014 A player with a waveform, because audio is a shape.",
"ink": 4.8
},
{
"slug": "roundtable",
"status": 200,
"ok": true,
"errs": [],
"nodes": 71,
"text": 629,
"badge": true,
"canvas": false,
"gl": null,
"title": "Roundtable \u2014 A call that starts when you open the link."
},
{
"slug": "scribe",
"status": 200,
"ok": true,
"errs": [],
"nodes": 48,
"text": 477,
"badge": true,
"canvas": false,
"gl": null,
"title": "Scribe \u2014 One document, several cursors, no merge conflicts."
},
{
"slug": "shortlist",
"status": 200,
"ok": true,
"errs": [],
"nodes": 134,
"text": 1275,
"badge": true,
"canvas": false,
"gl": null,
"title": "Shortlist \u2014 A job board that respects the applicant's afternoon."
},
{
"slug": "sift",
"status": 200,
"ok": true,
"errs": [],
"nodes": 157,
"text": 510,
"badge": true,
"canvas": false,
"gl": null,
"title": "Sift \u2014 Paste the JSON. Find the field. Copy the path. Get on with it."
},
{
"slug": "skirmish",
"status": 200,
"ok": true,
"errs": [],
"nodes": 27,
"text": 330,
"badge": true,
"canvas": true,
"gl": true,
"title": "Skirmish \u2014 Two-minute multiplayer matches in a browser tab. No install, no lobby.",
"ink": 12.1
},
{
"slug": "slate",
"status": 200,
"ok": true,
"errs": [],
"nodes": 28,
"text": 297,
"badge": true,
"canvas": true,
"gl": true,
"title": "Slate \u2014 A whiteboard that several people can draw on without fighting.",
"ink": 36.4
},
{
"slug": "sluice",
"status": 200,
"ok": true,
"errs": [],
"nodes": 92,
"text": 568,
"badge": true,
"canvas": false,
"gl": null,
"title": "Sluice \u2014 Move data from where it is to where it is useful, and watch it go."
},
{
"slug": "spool",
"status": 200,
"ok": true,
"errs": [],
"nodes": 141,
"text": 740,
"badge": true,
"canvas": false,
"gl": null,
"title": "Spool \u2014 Jobs, retries and the dead-letter queue you have been ignoring."
},
{
"slug": "stockroom",
"status": 200,
"ok": true,
"errs": [],
"nodes": 344,
"text": 1299,
"badge": true,
"canvas": false,
"gl": null,
"title": "Stockroom \u2014 What you have, where it is, and how long before you run out."
},
{
"slug": "streaks",
"status": 200,
"ok": true,
"errs": [],
"nodes": 804,
"text": 531,
"badge": true,
"canvas": false,
"gl": null,
"title": "Streaks \u2014 Do the thing. Mark the box. Do not break the chain."
},
{
"slug": "swarm",
"status": 200,
"ok": true,
"errs": [],
"nodes": 38,
"text": 455,
"badge": true,
"canvas": true,
"gl": true,
"title": "Swarm \u2014 A hundred thousand particles obeying three rules.",
"ink": 110.0
},
{
"slug": "syllabus",
"status": 200,
"ok": true,
"errs": [],
"nodes": 68,
"text": 1054,
"badge": true,
"canvas": false,
"gl": null,
"title": "Syllabus \u2014 Lessons, progress and a certificate at the end. Learning, not a video wall."
},
{
"slug": "tender",
"status": 200,
"ok": true,
"errs": [],
"nodes": 94,
"text": 519,
"badge": true,
"canvas": false,
"gl": null,
"title": "Tender \u2014 A checkout that says the total once and never changes it."
},
{
"slug": "tessera",
"status": 200,
"ok": true,
"errs": [],
"nodes": 41,
"text": 318,
"badge": true,
"canvas": true,
"gl": true,
"title": "Tessera \u2014 A shared canvas where every pixel has an owner and a timestamp.",
"ink": 66.0
},
{
"slug": "threshold",
"status": 200,
"ok": true,
"errs": [],
"nodes": 33,
"text": 391,
"badge": true,
"canvas": false,
"gl": null,
"title": "Threshold \u2014 The first five minutes of an account, designed like they matter."
},
{
"slug": "timeslot",
"status": 200,
"ok": true,
"errs": [],
"nodes": 142,
"text": 644,
"badge": true,
"canvas": false,
"gl": null,
"title": "Timeslot \u2014 Pick a slot. That is the whole product, and it is harder than it looks."
},
{
"slug": "tincture",
"status": 200,
"ok": true,
"errs": [],
"nodes": 311,
"text": 1123,
"badge": true,
"canvas": false,
"gl": null,
"title": "Tincture \u2014 Design tokens with contrast checked at the point you pick the colour."
},
{
"slug": "trellis",
"status": 200,
"ok": true,
"errs": [],
"nodes": 185,
"text": 986,
"badge": true,
"canvas": false,
"gl": null,
"title": "Trellis \u2014 Who reports to whom, and who is standing on their own."
},
{
"slug": "vellum",
"status": 200,
"ok": true,
"errs": [],
"nodes": 64,
"text": 936,
"badge": true,
"canvas": false,
"gl": null,
"title": "Vellum \u2014 The company handbook, written to be read rather than filed."
},
{
"slug": "watchtower",
"status": 200,
"ok": true,
"errs": [],
"nodes": 744,
"text": 880,
"badge": true,
"canvas": false,
"gl": null,
"title": "Watchtower \u2014 A status page that is honest during the incident, not after it."
}
]