Griffin Trygg
Get in touch

AI SystemsApparent Capital / Corridor Ventures

Apparent Legal

Legal drafting where every clause Claude writes cites the precedent it came from.

A lighthouse on a cliff, its beam sweeping across a dark sea toward a small boat

Why I built it

Purchase agreements, LOIs, operating agreements and leases at the firm get drafted from our own precedent, which means digging through old deals for the right clause. A plain chatbot will happily draft a clause from nothing, and in legal language that's worse than useless. I wanted drafting that could only say things it could point to.

What it does

  • Ingests internal precedent and classifies it by document type.
  • Hybrid vector retrieval plus a reranker, with metadata filters (state, asset type, document type).
  • Drafts new sections with Claude, extracting and validating a citation for every clause.
  • Exposed as an MCP server, so Claude Desktop, Claude Code and team workspaces can search the corpus and draft against it directly.

How it works

Four modules: ingestion, storage, retrieval, generation. They were built on parallel branches against one shared types file that nobody was allowed to change.

Retrieval is hybrid vector search plus a reranker, with filters for state, asset type and document type. Generation drops any clause it can't tie back to a retrieved source.

Calls I made

A frozen types file instead of meetings

Four workstreams built at once without stepping on each other, because the contract between them couldn't move.

It lives inside Claude

Deal staff already work in Claude, so the tool is an MCP server rather than another web app to log into.