About Thingy
Thingy is an AI librarian for one writer’s public archive. Ask it anything about twenty-five years of Jamie Thingelstad’s writing and it answers with citations back to the original posts and issues — in chat here, or inside your own AI via MCP.
The short version
Jamie has published continuously since 2000: a blog, a weekly newsletter, and a podcast. Thingy has read all of it. Instead of scrolling archives or hoping a search engine indexed the right post, you ask a question — “when did Jamie first write about Ethereum?”, “show me photos from bike rides”, “what was he reading in 2019?” — and Thingy finds the sources, quotes them, and links you to the originals. It only knows the published archive; it holds no private data. Weekly Thing subscribers sign in with just their email.
What’s in the archive
| Source | Contents | Span |
|---|---|---|
| The Weekly Thing | 350 issues, 6,429 outbound links, 4,361 images | 2017 – today |
| thingelstad.com | 10,408 blog posts, 9,862 images | 2000 – today |
| Another Thing | Podcast episodes with transcripts | 2026 – today |
Beyond the text, the corpus carries structure: a link graph across every source, a photo index built from alt text and captions, the newsletter’s Currently entries (what Jamie was reading, playing, and watching, year by year), and cross-references between blog posts and the issues that featured them. New posts and issues flow in automatically as they publish.
How it works
Thingy is two open-source pieces:
librarian-thing — the brain. A corpus pipeline (Python) builds embedded, chunked indexes of every source; a serverless API (Node on AWS Lambda) answers from them. Retrieval is hybrid: TF-IDF lexical search and semantic embeddings fused with reciprocal-rank fusion, then reranked. An agentic loop (Claude on Amazon Bedrock) plans tool calls, gathers evidence, and writes cited answers. Filtering runs through a single canonical matcher with declared semantics — whole-token exact, contiguous phrase, opt-in stemming — enforced by an eval suite of 850+ invariants and known-answer fixtures that runs on every deploy and blocks it on failure.
thingy.thingelstad.com — this site. A static Preact app on GitHub Pages that streams answers from the Librarian over server-sent events, renders citations and inline photos, and handles the email sign-in flow.
question → preflight → agent loop → [ lexical ⊕ semantic → RRF → rerank ] × tools → cited answer
The same tool registry that powers this chat is published as an MCP server at librarian.thingelstad.com/mcp with OAuth 2.1 sign-in, so Claude, ChatGPT, Codex, or any MCP client can use the archive with the exact tools Thingy uses — searching, topic history, quote finding, photo search, claim checking, and more. Connection instructions →
Trust, tested adversarially
When the MCP server launched, an AI agent spent eight review rounds trying to break the tools — and its findings shaped the architecture. Matching semantics now live in one canonical component with a written spec: whole-token matching (so “ENS” can never match “sense”), contiguous phrases, opt-in stemming that can’t cross word boundaries. Every answer’s evidence carries the exact matched text at its actual offset, so claims are verifiable down to the span. A suite of 850+ fixtures and invariants runs on every deploy and blocks it on failure — including known answers pinned against the archive itself, like “the first Ethereum mention is issue 17, September 2017.”
The archive maintains itself
Thingy’s upkeep runs on a small team of AI objective owners — the AGENT-TEAM — each accountable for an outcome, not a task list:
Run the Librarian keeps the API, MCP surface, and deploys healthy, observable, and cheap.Saturdays
Keep the Archive True watches ingest, corpus builds, and the link graph as new writing lands.Sundays
Improve Thingy reads real conversations (privately, in aggregate) and turns evidence into fixes with regression fixtures.Every 3 days
Each run measures from live evidence, fixes at the source, pins the fix with a test, and a healthy no-op is a successful run. Human decisions — anything reader-visible, schema-changing, or irreversible — still go to Jamie.
Boundaries
- The archive is Jamie’s public writing; personal data stays out by construction.
- Every reader has daily budgets for chat and tool calls (doubled for Supporting Members).
- Answers cite their sources; evidence carries the exact matched text so claims are checkable.