Incipit.

Download HVNT33

At the end of this page you’ll have HVNT33 open with a fictional demo case to explore. The app brings its own server, database and Tor; all you need is Node.js.

Signed installers are coming. Today, download the source and build the app with the steps below.

What you need

  • A computer running macOS, Windows or Linux
  • Node.js 22.18 or laternode --version
  • Claude Code or Codex for the agent that files your captures (optional, but it's how material becomes research)claude --version

Install and start

  1. IGet the source

    Clones the repository into a folder named hvnt33 and moves into it. Everything else runs from there.

    git clone https://github.com/kai-ten/hvnt33.git hvnt33cd hvnt33

    When it worked: A new hvnt33 folder, and your prompt inside it.

  2. IIInstall the dependencies

    Installs every part of HVNT33 in one pass: the app, its server and the shared core.

    npm install

    When it worked: npm finishes with a package count and no errors. Warnings about funding are fine.

  3. IIISet it up

    Writes .env with a random database password, and installs the built-in database and Tor, each checked against pinned checksums. Run it once.

    npm run setup

    When it worked: Configuration ready, then the database and Tor installed. Keep .env private; it holds the database password.

  4. IVOpen the app

    Builds the app and opens it. The app starts its own server and database; there is nothing else to run.

    npm run desktop

    When it worked: The HVNT33 window, with the search bar at the top and the investigation pane on the right.

  5. VLoad the demo case (optional)

    Creates a fictional investigation to explore before you start your own.

    npm run demo

    When it worked: Created the demo case "Meridian Bay dredging contract (demo)", with its records and connections. Every person and company in it is invented.

Your first investigation

  1. In the desktop app, create an investigation in the right-hand pane: what you're investigating, and the question you want to answer.
  2. Press ⌘K and search. Every selected engine opens in its own tab, and each results page is recorded. The panel beside the page (⌘3) shows the results as data.
  3. Open a result, highlight a passage and press ⌘⇧S. The capture is saved to the case and a reference to it appears in the agent's message at the bottom: add a note if you like ("connect this to the contract") and press Enter. You can also drag files from anywhere onto the agent. The agent reads the capture and files people, organizations, events and claims into the case, each with the exact quote it came from.
  4. Watch the case grow in the investigation pane. Everything the agent files is Unverified until you review it: press ⌘4 for the Case view, tick Needs review, check each record against its quoted source, and set its status. Your reviews are recorded apart from the agent's filing.
  5. Press ⌘2 for the Search Lab: sourcetype=serp | compare shows which results the engines agree on.

Using HVNT33 covers verification and exports; the desktop guide covers every feature and shortcut.

Running the server on its own§

The app runs its server for you. To run the server without the app (for example on another machine the app connects to), use npm start: it starts the built-in database too. Snapshots made by a server without the app store each page's HTML and text but no screenshot, since the page is rendered by the app's browser. Keep the server on localhost: local mode trusts every request from the machine. For a shared server, use token mode; see Operations. To use an ArcadeDB you run yourself, set ARCADEDB_URL in .env.

When something goes wrong

npm install fails, or node complains about syntax
Your Node.js is older than 22.18. Check with node --version and install a current LTS release.
npm run desktop takes a while the first time
It builds the app first. Later starts are quicker.
Tor on doesn't connect
Built-in Tor is installed by npm run setup; run it again if it was interrupted. The button shows Tor’s progress; the first start takes longest.
An engine tab shows a consent page or a bot check
HVNT33 reports these and never bypasses them. Complete it in the tab and the reload is recorded. VPN and Tor exits see more of them.
Captures don't get filed
Filing needs Claude Code or Codex signed in, in the terminal at the bottom of the window (⌘J), and Agent files it ticked in the capture sheet.

Still stuck? Open an issue with the command, what it printed, and your macOS and Node versions.