{
  "schemaVersion": "hopper.showcase.editorial-publication.v1",
  "releaseDate": "2026-10-03",
  "projects": [
    {
      "id": "project:dogfood",
      "slug": "dogfood",
      "title": "Project Dogfood",
      "tagline": "Build it. Use it. Earn your own preference.",
      "summary": "Solve problems close enough to feel. Publish the work, the tradeoffs, and the reasons we choose another tool when ours falls short.",
      "status": "active",
      "goals": [
        "Choose a real recurring problem and name the person who has it.",
        "Make the tool useful beyond one person’s habits.",
        "Record what worked, what failed, and what changed."
      ],
      "products": [
        "notes",
        "tasks",
        "contacts",
        "calendar"
      ],
      "detail": {
        "idea": "Build something you have a reason to reach for. Actual use reveals friction that a pitch or an imagined customer cannot. The aim is to understand a real need closely, then solve it well enough that someone beyond the builder would care.",
        "practice": [
          "Name a recurring task and the person doing it.",
          "Use your tool beside the alternative you already trust.",
          "Write down what made you switch away, then choose the next improvement."
        ],
        "principles": [
          {
            "title": "Preference is evidence",
            "text": "If you choose another product after building your own, pay attention. The missing capability, extra effort, or lost trust is a concrete improvement signal. Loyalty to your code is not a useful test."
          },
          {
            "title": "Close to the need, broad enough to matter",
            "text": "Your habits can reveal a problem without defining the whole market. Find other people who share the need, watch their work, and distinguish a useful opinion from a quirk only you value."
          },
          {
            "title": "Specialize with a reason",
            "text": "A focused product can serve a smaller community exceptionally well. A broader product needs a need that remains coherent across its audience. Price, value, and the number of people you can serve are connected decisions."
          }
        ],
        "comparison": {
          "before": {
            "label": "An imagined customer",
            "steps": [
              "Guess the need",
              "Build the pitch",
              "Assume someone will use it"
            ]
          },
          "after": {
            "label": "A problem you can feel",
            "steps": [
              "Do the real task",
              "Notice where the tool loses",
              "Improve and use it again"
            ]
          },
          "caption": "This is a working principle, not a claim that every successful company must be built by its own customer."
        },
        "builds": [
          {
            "product": "notes",
            "task": "Capture an idea you will need again.",
            "lookFor": "Can you find and understand the note later without remembering exactly where you put it?",
            "nextStep": "Compare the same task with your current notes tool; record the first point of friction."
          },
          {
            "product": "tasks",
            "task": "Turn a real obligation into a next action.",
            "lookFor": "Does the task view help you choose what to do today, or leave the planning work to you?",
            "nextStep": "Try one recurring workflow and identify the missing step that sends you elsewhere."
          },
          {
            "product": "contacts",
            "task": "Keep the context behind a relationship.",
            "lookFor": "Can you recover who someone is and why the connection matters?",
            "nextStep": "Read the Contacts → People → Calendar field note for the demonstrated connection; standalone demos have their own scope."
          },
          {
            "product": "calendar",
            "task": "Make a plan you can follow.",
            "lookFor": "Check whether creating and reviewing an event feels clear enough to use repeatedly.",
            "nextStep": "Compare one ordinary scheduling task with the calendar you already prefer."
          }
        ],
        "connections": [
          {
            "project": "topgun",
            "reason": "Dogfood finds the friction worth solving; Top Gun asks whether the resulting tool beats a strong alternative on a defined task."
          },
          {
            "project": "raise-the-floor",
            "reason": "A tool that earns its place can become a useful starting point for other people."
          },
          {
            "project": "raise-the-roof",
            "reason": "Recurring tasks reveal where a connected workspace could remove repeated effort without losing context."
          }
        ]
      }
    },
    {
      "id": "project:topgun",
      "slug": "topgun",
      "title": "Project Top Gun",
      "tagline": "There are no points for second place.",
      "summary": "Choose a contest worth winning, define the measure, and do the work to become the best at it. Ambition needs a test.",
      "status": "active",
      "goals": [
        "Name the task and the strongest relevant alternative.",
        "Measure outcomes, effort, reliability, and cost.",
        "Publish a comparison before claiming a win."
      ],
      "products": [
        "essay-grader",
        "calculator",
        "ai-effectiveness"
      ],
      "detail": {
        "idea": "Be unapologetic about trying to be the best at something specific. Name the task, the strongest relevant alternative, and the evidence that would count as winning. Then let the comparison change what you build.",
        "practice": [
          "Choose one contest and one relevant baseline.",
          "Keep the inputs, setup, and scoring visible.",
          "Measure the result and the cost of getting it."
        ],
        "principles": [
          {
            "title": "Choose the contest",
            "text": "“Best” needs a task and an audience. Improving an essay draft, checking a calculation, and understanding AI spend are different contests; each needs its own definition of success."
          },
          {
            "title": "A strong baseline makes the result useful",
            "text": "Compare with something a real user would choose. Keep inputs and conditions comparable, record failures, and state what the comparison leaves out."
          },
          {
            "title": "Confidence must survive measurement",
            "text": "Ambition gets the work started. Evidence tells you whether it is working. A pleasing demo or a larger model is not a benchmark win; reliability, effort, and cost can change the decision."
          }
        ],
        "comparison": {
          "before": {
            "label": "A claim without a contest",
            "steps": [
              "Say it is better",
              "Choose flattering examples",
              "Declare a win"
            ]
          },
          "after": {
            "label": "A contest you can measure",
            "steps": [
              "Define task + baseline",
              "Compare the same work",
              "Publish result + limits"
            ]
          },
          "caption": "These are standards for future comparisons. The linked products do not establish a measured victory."
        },
        "builds": [
          {
            "product": "essay-grader",
            "task": "Improve an argument through another draft.",
            "lookFor": "Practice feedback should help a writer make a specific revision. It is independent practice, not an official test score.",
            "nextStep": "Choose a set of essays and an explicit feedback rubric before comparing graders."
          },
          {
            "product": "calculator",
            "task": "Check a calculation you can independently verify.",
            "lookFor": "Accuracy, clear input handling, and understandable results all matter.",
            "nextStep": "Keep a small task set with known answers and record effort and failure cases alongside accuracy."
          },
          {
            "product": "ai-effectiveness",
            "task": "Understand what work AI usage contributed to.",
            "lookFor": "Look for the connection between usage, conversations, commits, and projects rather than treating token counts as value.",
            "nextStep": "Define a useful outcome first, then compare the usage and effort required to produce it."
          }
        ],
        "connections": [
          {
            "project": "dogfood",
            "reason": "Actual preference helps choose a meaningful contest and exposes the moments when another tool wins."
          },
          {
            "project": "raise-the-roof",
            "reason": "Raise the Roof explores what more demanding work becomes possible; Top Gun tests whether a particular approach is better."
          },
          {
            "project": "raise-the-floor",
            "reason": "Making useful tools accessible gives more people a starting point from which to improve and compete."
          }
        ]
      }
    },
    {
      "id": "project:raise-the-floor",
      "slug": "raise-the-floor",
      "title": "Project Raise the Floor",
      "tagline": "A better starting point for everyone.",
      "summary": "Make useful tools, explanations, and available code easier to reach. A free baseline should solve a real problem.",
      "status": "active",
      "goals": [
        "Offer complete, useful starting points.",
        "Teach through working examples and clear explanations.",
        "Keep license and release availability explicit."
      ],
      "products": [
        "notes",
        "tasks",
        "calculator"
      ],
      "detail": {
        "idea": "Give people a better starting point. A free tool or example should do something useful on its own, and its explanation should help a person understand and adapt it. Access matters most when the starting point solves a real task.",
        "practice": [
          "Choose a task that the free starting point completes.",
          "Make the explanation usable alongside the tool.",
          "Check the actual license and release before promising code access."
        ],
        "principles": [
          {
            "title": "Useful on its own",
            "text": "A baseline should complete a worthwhile task. Start with the person using it and the result they need, then judge whether the experience delivers that result."
          },
          {
            "title": "Teach through the work",
            "text": "An example is more valuable when its inputs, decisions, and limits are visible. Research walkthroughs and related posts can explain why a tool behaves as it does."
          },
          {
            "title": "Make access concrete",
            "text": "A browser demo, a downloadable application, and a source repository offer different kinds of access. Product pages and repository licenses describe what is available today."
          }
        ],
        "comparison": {
          "before": {
            "label": "A low starting point",
            "steps": [
              "Find scattered pieces",
              "Guess how they fit",
              "Pay in time before value"
            ]
          },
          "after": {
            "label": "A useful baseline",
            "steps": [
              "Start with a working tool",
              "Follow the explanation",
              "Adapt to the next task"
            ]
          },
          "caption": "The goal is a stronger free baseline. Source availability is specific to each published repository and release."
        },
        "builds": [
          {
            "product": "notes",
            "task": "Start a small, organized notebook.",
            "lookFor": "Judge the core writing and retrieval experience as a complete task.",
            "nextStep": "Read the Dogfood essays and compare the workflow with another person’s needs."
          },
          {
            "product": "tasks",
            "task": "Make today’s work visible.",
            "lookFor": "A useful starting point should help turn obligations into actions without a long setup.",
            "nextStep": "Choose a modest real project and see where the baseline stops helping."
          },
          {
            "product": "calculator",
            "task": "Work through a basic or scientific calculation.",
            "lookFor": "Try the available browser demo and inspect how inputs become results.",
            "nextStep": "Use a calculation with a known answer; treat additional graphing needs as a separate task."
          }
        ],
        "connections": [
          {
            "project": "raise-the-roof",
            "reason": "The floor is a useful starting point; the roof is a path to more demanding capability. Both should provide value at their own level."
          },
          {
            "project": "dogfood",
            "reason": "Actual use helps decide whether the free baseline is useful enough to keep."
          },
          {
            "project": "topgun",
            "reason": "A shared starting point lets more people attempt a specific, demanding result."
          }
        ]
      }
    },
    {
      "id": "project:raise-the-roof",
      "slug": "raise-the-roof",
      "title": "Project Raise the Roof",
      "tagline": "Make more possible.",
      "summary": "Explore how connected tools and AI can help people do harder work with greater control and understanding.",
      "status": "active",
      "goals": [
        "Connect information without losing its context.",
        "Make advanced capability inspectable and adaptable.",
        "Show the gains and the limits of the connected system."
      ],
      "products": [
        "hopperbot-studio",
        "ai-effectiveness",
        "project-cost-controls"
      ],
      "detail": {
        "idea": "Make harder work possible without hiding how it happens. Connected tools and AI are valuable when they preserve the context, control, and visibility needed to understand a result and decide what to do next.",
        "practice": [
          "Name the harder task and the information it needs.",
          "Follow the context across tools and inspect the handoff.",
          "Keep the result, usage, and limits visible."
        ],
        "principles": [
          {
            "title": "Connections should carry meaning",
            "text": "Moving data is useful only if the next tool can understand it. Identity, relationships, and the reason something matters should survive a handoff."
          },
          {
            "title": "Capability needs control",
            "text": "A more capable system needs understandable actions and an inspectable result. Start with a bounded workflow and keep account and integration requirements explicit."
          },
          {
            "title": "Watch value and cost together",
            "text": "Doing more is not automatically doing better. Understand what the AI work contributed to and how its cost relates to the project’s priorities."
          }
        ],
        "comparison": {
          "before": {
            "label": "Work split across tools",
            "steps": [
              "Re-enter the context",
              "Lose the thread",
              "Judge an opaque result"
            ]
          },
          "after": {
            "label": "A connected workflow",
            "steps": [
              "Carry context forward",
              "Inspect the action",
              "Review result + cost"
            ]
          },
          "caption": "This describes the intended direction. Each demo, desktop release, and local integration has its own current scope."
        },
        "builds": [
          {
            "product": "hopperbot-studio",
            "task": "Explore an assistant working with your apps.",
            "lookFor": "The product page describes the local Studio and its existing account and integration requirements.",
            "nextStep": "Choose one bounded task and check which connections are actually configured before attempting it."
          },
          {
            "product": "ai-effectiveness",
            "task": "Connect AI usage to the work it went into.",
            "lookFor": "Follow tokens back to conversations, commits, and projects to understand the activity.",
            "nextStep": "Choose an outcome you care about and ask what evidence connects the usage to that outcome."
          },
          {
            "product": "project-cost-controls",
            "task": "Understand a project’s budget and usage.",
            "lookFor": "Look at trends and near or over alerts together with the usage behind each cost.",
            "nextStep": "Use one project budget to decide which work to continue, adjust, or investigate."
          }
        ],
        "connections": [
          {
            "project": "raise-the-floor",
            "reason": "Useful standalone tools are the foundation; connected capability should add a clear benefit beyond them."
          },
          {
            "project": "topgun",
            "reason": "Top Gun supplies the specific contest and comparison needed to judge an advanced approach."
          },
          {
            "project": "dogfood",
            "reason": "Recurring use exposes where preserving context would make a connected system more valuable."
          }
        ]
      }
    },
    {
      "id": "project:underdog",
      "slug": "underdog",
      "title": "Project Underdog",
      "tagline": "The next chapter is still taking shape.",
      "summary": "A place for work that helps a smaller player compete. We like the name; the method and program are still to be defined.",
      "status": "coming-soon",
      "goals": [],
      "products": [],
      "detail": {
        "idea": "We want to explore how a smaller player can compete against a larger one. The name captures the direction; a useful method still needs a real constraint, a specific contest, and someone close enough to the problem to test it.",
        "practice": [
          "Find a real constraint facing a smaller player.",
          "Choose a contest where a focused advantage could matter.",
          "Test a useful method before announcing a program."
        ],
        "principles": [
          {
            "title": "A direction, still to be defined",
            "text": "There is no announced program, method, or launch date. This page records the questions that could turn the idea into concrete work."
          },
          {
            "title": "Learn from the other projects",
            "text": "Dogfood offers proximity to a need. Top Gun offers a measurable contest. Raise the Floor and Raise the Roof offer useful starting points and a direction for capability."
          }
        ],
        "builds": [],
        "connections": [
          {
            "project": "dogfood",
            "reason": "Start close to someone’s actual problem rather than inventing an underdog customer."
          },
          {
            "project": "topgun",
            "reason": "A smaller player needs a contest it can plausibly win, with evidence that the advantage matters."
          },
          {
            "project": "raise-the-floor",
            "reason": "Useful accessible tools could improve the starting point for someone with fewer resources."
          }
        ]
      }
    }
  ],
  "topics": [
    {
      "id": "topic:building",
      "slug": "building",
      "title": "Building",
      "summary": "How useful software gets made."
    },
    {
      "id": "topic:dogfooding",
      "slug": "dogfooding",
      "title": "Dogfooding",
      "summary": "Learning from actual use, including the decision to use something else."
    },
    {
      "id": "topic:markets",
      "slug": "markets",
      "title": "Markets & specialization",
      "summary": "Choosing a customer, a problem, and a viable scope."
    },
    {
      "id": "topic:ai",
      "slug": "ai",
      "title": "AI",
      "summary": "Possibilities, limits, and applications of machine intelligence."
    },
    {
      "id": "topic:connections",
      "slug": "connections",
      "title": "Connected tools",
      "summary": "Preserving relationships and context across applications."
    },
    {
      "id": "topic:open-source",
      "slug": "open-source",
      "title": "Open source",
      "summary": "Available code, clear licenses, and useful free starting points."
    },
    {
      "id": "topic:excellence",
      "slug": "excellence",
      "title": "Excellence",
      "summary": "Specific contests, evidence, and deliberate improvement."
    },
    {
      "id": "topic:learning",
      "slug": "learning",
      "title": "Learning",
      "summary": "Practice, feedback, and deeper understanding."
    }
  ],
  "series": [
    {
      "id": "series:dogfood-notebook",
      "slug": "dogfood-notebook",
      "title": "The Dogfood Notebook",
      "summary": "From a problem you feel to a tool that earns its place.",
      "posts": [
        "project-dogfood",
        "your-product-must-earn-your-use",
        "finding-the-right-sized-niche",
        "contacts-to-calendar",
        "connections-should-preserve-context"
      ]
    },
    {
      "id": "series:building-with-ai",
      "slug": "building-with-ai",
      "title": "Building with AI",
      "summary": "A thesis about specificity, followed by a standard for testing it.",
      "posts": [
        "boutique-software-at-scale",
        "choose-a-contest-you-can-measure"
      ]
    },
    {
      "id": "series:floor-and-roof",
      "slug": "floor-and-roof",
      "title": "The Floor and the Roof",
      "summary": "Useful starting points and a path to more demanding work.",
      "posts": [
        "raising-the-floor-and-the-roof",
        "open-source",
        "pro-source"
      ]
    }
  ],
  "updates": [
    {
      "id": "update:dogfood:launch",
      "project": "dogfood",
      "date": "2026-10-02",
      "title": "The project hub is open",
      "text": "The first reading paths and related tools are collected here. These are the project’s aims; individual product pages describe current availability.",
      "posts": []
    },
    {
      "id": "update:topgun:launch",
      "project": "topgun",
      "date": "2026-10-02",
      "title": "The project hub is open",
      "text": "The first reading paths and related tools are collected here. These are the project’s aims; individual product pages describe current availability.",
      "posts": []
    },
    {
      "id": "update:raise-the-floor:launch",
      "project": "raise-the-floor",
      "date": "2026-10-02",
      "title": "The project hub is open",
      "text": "The first reading paths and related tools are collected here. These are the project’s aims; individual product pages describe current availability.",
      "posts": []
    },
    {
      "id": "update:raise-the-roof:launch",
      "project": "raise-the-roof",
      "date": "2026-10-02",
      "title": "The project hub is open",
      "text": "The first reading paths and related tools are collected here. These are the project’s aims; individual product pages describe current availability.",
      "posts": []
    },
    {
      "id": "update:underdog:launch",
      "project": "underdog",
      "date": "2026-10-02",
      "title": "Coming soon",
      "text": "The name is reserved. Goals, tools, and a launch date have not been announced.",
      "posts": []
    },
    {
      "id": "update:dogfood:detail-pages",
      "project": "dogfood",
      "date": "2026-10-03",
      "title": "A clearer way to follow the project",
      "text": "The project now has the same compact detail layout and tabs as Research, with principles, practical build examples, reading paths, and connections collected in one place.",
      "posts": []
    },
    {
      "id": "update:topgun:detail-pages",
      "project": "topgun",
      "date": "2026-10-03",
      "title": "A clearer way to follow the project",
      "text": "The project now has the same compact detail layout and tabs as Research, with principles, practical build examples, reading paths, and connections collected in one place.",
      "posts": []
    },
    {
      "id": "update:raise-the-floor:detail-pages",
      "project": "raise-the-floor",
      "date": "2026-10-03",
      "title": "A clearer way to follow the project",
      "text": "The project now has the same compact detail layout and tabs as Research, with principles, practical build examples, reading paths, and connections collected in one place.",
      "posts": []
    },
    {
      "id": "update:raise-the-roof:detail-pages",
      "project": "raise-the-roof",
      "date": "2026-10-03",
      "title": "A clearer way to follow the project",
      "text": "The project now has the same compact detail layout and tabs as Research, with principles, practical build examples, reading paths, and connections collected in one place.",
      "posts": []
    },
    {
      "id": "update:underdog:detail-pages",
      "project": "underdog",
      "date": "2026-10-03",
      "title": "A clearer way to follow the project",
      "text": "The project now has the same compact detail layout and tabs as Research, with its principles, practical questions, and connections collected in one place.",
      "posts": []
    }
  ],
  "relationships": [
    {
      "fromPost": "your-product-must-earn-your-use",
      "toPost": "finding-the-right-sized-niche",
      "type": "extends",
      "reason": "The niche essay explores how far a solution should generalize beyond its first user."
    },
    {
      "fromPost": "boutique-software-at-scale",
      "toPost": "your-product-must-earn-your-use",
      "type": "builds-on",
      "reason": "The AI thesis relies on the same requirement for direct feedback from actual users."
    },
    {
      "fromPost": "connections-should-preserve-context",
      "toPost": "contacts-to-calendar",
      "type": "builds-on",
      "reason": "The existing Contacts → People → Calendar demonstration is a concrete example of preserving identity."
    },
    {
      "fromPost": "choose-a-contest-you-can-measure",
      "toPost": "raising-the-floor-and-the-roof",
      "type": "extends",
      "reason": "The measurement standard applies to both free tools and advanced capability."
    }
  ],
  "posts": [
    {
      "id": "post:open-source",
      "slug": "open-source",
      "title": "Open Source: useful alone",
      "summary": "Complete standalone tools, with code you can read, change, and build on.",
      "kind": "guide",
      "projects": [
        "raise-the-floor"
      ],
      "topics": [
        "open-source",
        "building"
      ],
      "products": [
        "calendar",
        "contacts",
        "tasks",
        "workbook-studio",
        "ledger"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:0367ed39adafda46a779bef4371641e0940169d00cb2013edebfaeb652064e6b",
      "minutes": 1,
      "pinned": true
    },
    {
      "id": "post:pro-source",
      "slug": "pro-source",
      "title": "Pro Source: better together",
      "summary": "The connected workspace, its source, and continuing improvements—run by you.",
      "kind": "guide",
      "projects": [
        "raise-the-roof"
      ],
      "topics": [
        "connections",
        "building"
      ],
      "products": [
        "hopperbot-studio",
        "contacts",
        "calendar",
        "tasks"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:69b484e0c2a9420bf5658b0476f64871b31486a1d99113c6b8efbc9e987d9575",
      "minutes": 2,
      "pinned": true
    },
    {
      "id": "post:project-dogfood",
      "slug": "project-dogfood",
      "title": "Project Dogfood",
      "summary": "Building the tools we use to build the business—and showing the work.",
      "kind": "principle",
      "projects": [
        "dogfood"
      ],
      "topics": [
        "dogfooding",
        "building"
      ],
      "products": [
        "hopperbot-studio",
        "ledger",
        "workbook-studio"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:8329e12e65d33daacf67339be0159fe82f82d8e72bdb2933b5776261e1ebbfba",
      "minutes": 1,
      "pinned": true
    },
    {
      "id": "post:contacts-to-calendar",
      "slug": "contacts-to-calendar",
      "title": "One person, connected across apps",
      "summary": "What we observed when a contact changed while a calendar event was open.",
      "kind": "field-note",
      "projects": [
        "dogfood",
        "raise-the-roof"
      ],
      "topics": [
        "connections",
        "dogfooding"
      ],
      "products": [
        "contacts",
        "calendar",
        "hopperbot-studio"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:2f97c56c26ad1798d64028cd94536113f5fd328e94338bce63f9304c0868c09e",
      "minutes": 1,
      "pinned": false
    },
    {
      "id": "post:gre-issue-essay-scoring",
      "slug": "gre-issue-essay-scoring",
      "title": "How the GRE® Issue essay is scored (2026)",
      "summary": "How the GRE Issue essay is scored: the 0–6 half-point scale, holistic rubric, human raters plus ETS e-rater, and what separates each score band in ETS's guide.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:607c939f9f16498dcdf1233d261f34ebc7ef9ccfe047832caebabc4f1200ed3f",
      "minutes": 5,
      "pinned": false
    },
    {
      "id": "post:gre-essay-4-to-5",
      "slug": "gre-essay-4-to-5",
      "title": "How to go from a 4 to a 5 on the GRE® Issue essay",
      "summary": "A 4 is competent; a 5 is thoughtful. The GRE essay differences in position, reasoning, examples and structure, plus a revision checklist and timed drills.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:01b61fff98f1d16593e1e5bd63ad32b3529dac3f5459ba3b572233fba438f20d",
      "minutes": 5,
      "pinned": false
    },
    {
      "id": "post:gre-issue-two-views-prompts",
      "slug": "gre-issue-two-views-prompts",
      "title": "The GRE® \"two views\" Issue prompts, and how to answer them",
      "summary": "How to answer GRE Issue prompts that ask which view aligns with your own: what the task requires, a planning template, and four original practice prompts.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:8bdc32863702805db9895cfb2ab40823c55b2594c6507b5564dfe0ae701f97d7",
      "minutes": 4,
      "pinned": false
    },
    {
      "id": "post:gre-argument-essay-removed",
      "slug": "gre-argument-essay-removed",
      "title": "The GRE® Argument essay was removed: what changed",
      "summary": "ETS removed the GRE Argument essay on September 22, 2023. Here is the full list of changes in the shorter GRE and what they mean for Analytical Writing prep.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:de66e6abe3fbcfa433ae19b05187c735ba029380c38303158964629e2f6ae67c",
      "minutes": 4,
      "pinned": false
    },
    {
      "id": "post:good-gre-analytical-writing-score",
      "slug": "good-gre-analytical-writing-score",
      "title": "What is a good GRE® Analytical Writing score?",
      "summary": "What is a good GRE AWA score? ETS percentile ranks for every Analytical Writing level (2022–2025 data), average scores by field, and how programs use the score.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:1b20eefbac347498d0deffae57035ec767590ec8b89ce6b87b6b5afeccc38afd",
      "minutes": 4,
      "pinned": false
    },
    {
      "id": "post:free-gre-essay-practice-scoreitnow",
      "slug": "free-gre-essay-practice-scoreitnow",
      "title": "Free GRE® essay practice vs ScoreItNow!",
      "summary": "ETS ScoreItNow! and Hopper Labs Essay Practice compared: price, what each includes, how grading works and privacy, so you can pick the right GRE essay practice.",
      "kind": "guide",
      "projects": [
        "raise-the-floor",
        "topgun"
      ],
      "topics": [
        "learning"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Hopper Labs",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:40456661372b39281d06cb3f197c7a4d07220a7f549396e691cc997672a238c4",
      "minutes": 4,
      "pinned": false
    },
    {
      "id": "post:your-product-must-earn-your-use",
      "slug": "your-product-must-earn-your-use",
      "title": "Your product must earn your use",
      "summary": "Dogfooding begins with an honest preference, not a story about an imagined customer.",
      "kind": "principle",
      "projects": [
        "dogfood"
      ],
      "topics": [
        "dogfooding",
        "building",
        "markets"
      ],
      "products": [
        "notes",
        "tasks"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 1,
      "digest": "sha256:2631464ab0ad0c18a16675f1c1c3bbbd65de8a4e2b1ebc84a3a86a354fbe5f13",
      "minutes": 2,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-02"
    },
    {
      "id": "post:finding-the-right-sized-niche",
      "slug": "finding-the-right-sized-niche",
      "title": "Find the right-sized niche",
      "summary": "Specialize around a real problem. Generalize when the need and your capabilities justify it.",
      "kind": "principle",
      "projects": [
        "dogfood",
        "topgun"
      ],
      "topics": [
        "markets",
        "dogfooding",
        "excellence"
      ],
      "products": [
        "essay-grader"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 2,
      "digest": "sha256:6465088558829a907f06bb66a3da0f39339cc422070d46ac7704e1d365dc5ae7",
      "minutes": 3,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-03"
    },
    {
      "id": "post:boutique-software-at-scale",
      "slug": "boutique-software-at-scale",
      "title": "Boutique software at scale",
      "summary": "AI may change the economics of specificity. Empathy and feedback still decide whether the result is useful.",
      "kind": "principle",
      "projects": [
        "dogfood",
        "raise-the-roof"
      ],
      "topics": [
        "ai",
        "markets",
        "building"
      ],
      "products": [
        "hopperbot-studio"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 2,
      "digest": "sha256:49a358f6e91f80c604a8dd6e68c3d9ab4d489156e3fc4b894c18cd1d576b5d51",
      "minutes": 3,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-03"
    },
    {
      "id": "post:connections-should-preserve-context",
      "slug": "connections-should-preserve-context",
      "title": "Connections should preserve context",
      "summary": "A note, a task, and a person should keep their meaning when the work moves between tools.",
      "kind": "field-note",
      "projects": [
        "dogfood",
        "raise-the-roof"
      ],
      "topics": [
        "connections",
        "dogfooding"
      ],
      "products": [
        "notes",
        "tasks",
        "contacts",
        "calendar"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 2,
      "digest": "sha256:efdb20c835eda8e27226eafee88d0766157256bedd77798a9cbc0a581ca76542",
      "minutes": 3,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-02"
    },
    {
      "id": "post:raising-the-floor-and-the-roof",
      "slug": "raising-the-floor-and-the-roof",
      "title": "Raise the floor. Then raise the roof.",
      "summary": "A useful free baseline and advanced capability are two parts of the same ambition.",
      "kind": "principle",
      "projects": [
        "raise-the-floor",
        "raise-the-roof"
      ],
      "topics": [
        "open-source",
        "connections",
        "building"
      ],
      "products": [
        "notes",
        "tasks",
        "calculator"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 2,
      "digest": "sha256:be1b88555ba611ed0c357fb84dbdc8e839949fc83e957660a305c9120ea5e96c",
      "minutes": 3,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-03"
    },
    {
      "id": "post:choose-a-contest-you-can-measure",
      "slug": "choose-a-contest-you-can-measure",
      "title": "Choose a contest you can measure",
      "summary": "Project Top Gun starts with the discipline to define what winning means.",
      "kind": "principle",
      "projects": [
        "topgun",
        "raise-the-roof"
      ],
      "topics": [
        "excellence",
        "ai",
        "learning"
      ],
      "products": [
        "essay-grader",
        "ai-effectiveness",
        "project-cost-controls"
      ],
      "author": {
        "name": "Eric",
        "url": "/about"
      },
      "revision": 2,
      "digest": "sha256:d49eddf0eb8a32b30ebfc1ef6c2090a33778262e1f16b018972c194805e3f158",
      "minutes": 3,
      "pinned": false,
      "publishedAt": "2026-10-02",
      "updatedAt": "2026-10-03"
    }
  ],
  "digest": "sha256:0705f595760d6ff389a268f8282c636cb8558e6128b52e5cfcd75cfb7e47082d"
}
