MIT-licensed • free forever

Turn your organization into a palace

ThreadWeave captures the decisions, answers, and lessons scattered across your email, chat, and documents, and files them into a searchable palace. Self-hosted. PII-aware.

Tacit knowledge, structured like a palace

Most of what your firm knows is never written down where it can be found. It lives in email threads, chat messages, and people's heads. ThreadWeave captures it and files it into a palace where everything has its place.

  • ๐Ÿ›๏ธ

    The palace is your organization

    One searchable home for everything your firm knows. Captured verbatim, never summarized away.

  • ๐Ÿข

    Wings are teams

    Engineering, sales, support. Every department gets its own wing in the palace.

  • ๐Ÿšช

    Rooms are topics

    Database, pricing, onboarding. A room per subject, so knowledge gathers where it belongs.

  • ๐Ÿ—„๏ธ

    Drawers hold every decision

    Each captured answer or decision is filed with its source, date, and author.

  • ๐Ÿ”—

    Hallways and tunnels connect it

    Related knowledge links within a team. Cross-team links become tunnels, so one team's solution surfaces in another team's problem.

BEFORE: TACIT KNOWLEDGE AFTER: THE PALACE email threads chat meetings decisions in people's heads who knows this? ? ThreadWeave captures ยท files ยท connects INGEST GRAND HALL ENGINEERING SALES Database Postgres: JSONB COPY 3x ingest Deployment Tests before prod Rollback runbook Architecture Postgres > MySQL No dual-stack Runbooks Incident steps Backup restore Pricing Tiered licensing Discount floor 15% Onboarding Kickoff runbook Deliverables list Renewals Churn playbook Q3 price bump Closets LLM summaries Quarterly digests TUNNEL
Before ๐Ÿ’ฌ Scattered tacit knowledge
email · chat · meetings · people's heads
ThreadWeave ๐Ÿงต captures · files · connects
After ๐Ÿ›๏ธ The palace
wings · rooms · drawers

Tacit knowledge flows in through the entrance. ThreadWeave files each capture into a wing and a room, and connects related knowledge with hallways and tunnels.

Quick start git clone https://github.com/PowerLooming/ThreadWeave then cd ThreadWeave && bash setup.sh

The palace is built from what you already write

No new tools. No workflow change. ThreadWeave reads from the platforms you already use, and the knowledge inside them becomes part of your palace.

๐Ÿ“ง

Gmail

Google Workspace service account — polls inbox, threads replies, extracts decisions

๐Ÿ’ฌ

Google Chat

Listens across spaces, skips bot messages, captures human answers and decisions

๐Ÿ“„

Google Drive

Google Docs, Sheets, Slides, PDFs, Markdown — extracts text, maps folders to teams

๐Ÿ”—

Microsoft 365

Graph connector push-syncs ThreadWeave entries into Copilot and Microsoft Search

# One-shot sync from Gmail (last 7 days)
threadweave gws sync --source gmail --query "newer_than:7d"

# Continuous watch mode
threadweave gws watch --interval 300

# Harvest a departing employee's knowledge
threadweave gws harvest --email [email protected]

How you get answers back

Knowledge goes into the palace. Answers come out. Here's what that looks like in practice.

Decision engineering/database June 12, 2024
We decided to go with Postgres. The main reason is JSONB support โ€” we need to store semi-structured config data alongside relational records and MySQL's JSON implementation at the time was still lagging on indexing.
From: Lars Johansen โ€” email thread "Database evaluation for v2"
Answer engineering/platform Aug 3, 2024
We also evaluated Postgres vs MySQL for the real-time analytics pipeline. Postgres won again โ€” its COPY command and parallel query execution gave us 3x throughput on bulk ingestion. The team felt strongly about standardizing on one database.
From: Maria Chen โ€” Slack thread #platform-engineering
Decision engineering/architecture Jan 18, 2025
Post-mortem: the MySQL 8.0 upgrade caused a 4-hour outage because of the new default authentication plugin. We documented the fix but also committed to moving remaining MySQL instances to Postgres by Q3. No more dual-stack.
From: Erik Solberg โ€” Teams chat "MySQL upgrade post-mortem"

The features that make it real

๐Ÿ 

Self-hosted, air-gapped ready

Runs on your hardware. No cloud dependency. No external API calls required. Built for firms that can't send data off-prem.

๐Ÿ”

Seven-level confidentiality

Public, internal, confidential, restricted, HR-privileged, client-confidential, legal-privileged. Auto-detected at ingest. Enforced at read.

๐Ÿงน

PII-aware by default

Emails, phone numbers, personal identifiers are detected and filtered before storage. Your knowledge base stays compliant.

๐Ÿ‘‹

Offboarding harvester

When someone leaves, drain their institutional knowledge โ€” every decision, process, and client context from their email, chat, and documents.

๐Ÿง 

LLM-powered classification

Uses any OpenAI-compatible endpoint to classify content with nuance. Gracefully falls back to regex heuristics when no API key is configured.

๐Ÿ›๏ธ

Palace-structured memory

Every capture is filed into a wing (team) and a room (topic), connected by hallways and tunnels to related knowledge. Verbatim, never summarized away.

๐Ÿ”

Relevance-ranked search

Semantic similarity + org proximity + freshness + author authority. The right answer finds the right person.

๐Ÿ•

Temporal org model

Team membership with validity windows. Query what team someone was on in Q2 2023. Knowledge graph built on MemPalace's temporal triples.

๐ŸŒ

REST API + Swagger

Full OpenAPI docs at /docs. Every pipeline stage is a documented endpoint. Build your own integrations on top.

The ingestion pipeline

Every piece of content passes through four stages before it reaches the knowledge store.

Dedup
SHA-256 content hash
Detect
Answer / decision / chat / reference
Filter PII
Emails, phones, IDs stripped
Store
Filed into the palace: wing, room, drawer
# Classify text โ€” is it worth saving?
threadweave detect "We decided to use Postgres for JSONB support"

# Output:
{
  "should_save": true,
  "content_type": "decision",
  "confidence": 0.92,
  "has_pii": false,
  "suggested_title": "Decision: Use Postgres for JSONB support"
}

REST API that makes sense

Ingest anything. Search everything. The pipeline does the rest.

# Ingest content โ€” pipeline handles dedup, detection, PII, storage
POST /api/v1/ingest
{
  "content": "Always run integration tests before deploying to prod.",
  "source": "manual",
  "metadata": {
    "wing": "engineering",
    "room": "deployment",
    "author_id": "harald"
  }
}

# Search across everything
POST /api/v1/search
{ "query": "deployment pipeline", "wing": "engineering" }

# Metrics in Prometheus format
GET /api/v1/metrics/prometheus

NASA couldn't rebuild the Saturn V

Not because the blueprints vanished. The plans showed what to build, but not how. The weld technique, the alloy substitution, the test procedure โ€” none of it was documented. It lived only in the engineers who built it. Then they retired.

Your organization has the same problem. And it's happening faster than you think.

Read the full story →

Free. Open source. Your hardware.

Star the repo, spin it up, or get in touch if you want to run it at your firm. No license fees. No cloud dependency. MIT, forever.