Thingy Sign in

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.

In a nutshell

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 —

— 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.

The card catalog

What’s in the archive

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.

Under the hood

How it works

Thingy is two open-source pieces:

Piece one

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.

Piece two

thingy.thingelstad.com — this site. A static React app built on assistant-ui, served from a private S3 bucket behind CloudFront, calling the Librarian same-origin. It streams answers over server-sent events, renders citations and inline photos, and handles the email sign-in flow; the session itself lives in an HttpOnly cookie no script can read.

The answer pipeline

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 → · The full MCP reference →

And while you are signed in here, the chat page registers those same archive tools with your browser’s model context (the emerging WebMCP standard, in beta) — an agent operating in your browser can search the archive through your own session with no setup at all.

The staff

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:

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.

Library rules

Boundaries