Researching
- Sourcebot — Code search across a whole set of repositories at once. I read unfamiliar code far more than I write new code, and reading it one clone at a time is the slow way. Sourcebot merged my case-sensitivity fix for GitLab topics.
- GitHub CLI — All 350+ upstream pull requests on this site were opened, revised and re-read from a terminal. A maintainer's review thread says more about a project's real invariants than its README does, and the fastest way to find those invariants is to propose a change that violates one.
- mem0 — The memory layer I read hardest and then disagreed with. Its writes append; JITMIND keeps five timestamps per memory and filters on validity windows at retrieval instead. My open pull requests against its TypeScript client are mostly about scope leaking between reads.
- Hugging Face — Where the weights and the tokenizer come from before any research repository can run. INFINICHUNK's reference configuration is a 1.5B DeepSeek-R1 distillation; MoE-Xtend loads safetensors and decodes MXFP4 itself rather than trusting a runtime to do it quietly.
Thinking
- Claude Code — Where I work through a change before committing to it. Most of my writing about agent systems started as something I watched go wrong in an actual session, not as an idea I had about one.
- Codex — A second harness, kept deliberately separate from the one that wrote the patch. It exposes the review model as its own setting; a second prompt to the same model is not an independent review, and changing family is the cheapest coupling to break.
- opencode — The harness that is not tied to one vendor's model list. It runs headless behind a server command and speaks the Agent Client Protocol, so a session can be attached from a terminal or a browser. That is what makes trying an open-weight model on a real repository cheap rather than theoretical.
- Pi — The small one: read, bash, edit, write, and nothing else. A print flag makes it non-interactive and a JSON output mode makes its result a value another program can consume, so a bounded edit becomes a shell step instead of a conversation.
- Herdr — A workspace manager for coding agents. It holds each agent in its own pane and reports whether that agent is idle, working, blocked on an approval, or done. A terminal multiplexer cannot make that distinction, and it is the only one that matters when five lanes are running at once.
- AGENTS.md — One standards file at the machine level, read by Claude Code, Codex and Pi alike. Commit identity, branch naming, and the rule that a completion claim needs command output behind it are written once instead of three times and left to drift apart.
- GLM — Z.ai's model family, and the executor lane in graphs whose planner is a frontier model. The plan is worth the price per token; the twentieth tool call in the same run is not. Its lighter variants are what make a node that fans out to ten subagents affordable at all.
- Kimi — Moonshot's family, and the long-context one. TrinityRun drives its coding CLI at a 1,048,576-token context alongside Grok and Claude Code, and its sequential mode has one model research a question and Kimi implement from that result.
- DeepSeek — Published weights, and a distilled reasoning model small enough to put a reinforcement-learning rollout loop on hardware I can actually get. INFINICHUNK runs one as its reference model, because the question there is the carryover policy between chunks, not the size of the policy network.
Prototyping
- FastAPI — The fastest way from an idea to an endpoint somebody else can call. Munshot's streaming backend, the ClarityEngine text service and SYNC's API all started as one file here.
- Pydantic — Types at the boundary, enforced at runtime. TransformationConductor's quality controller returns a model whose score is constrained to one through ten and whose decision is approve or revise, so a critic that rambles fails at the parse rather than three nodes downstream.
- uv — One resolver and one lockfile in front of a CUDA-pinned PyTorch environment. INFINICHUNK and MoE-Xtend both install through it, because the first thing that stops a training repository from being reproduced is its environment, not its code.
- Bun — The runtime where a tool can have no dependencies at all. ORRERY's MCP server is a single Bun file with nothing between it and the standard library, and its releases ship an SBOM that hashes every packaged file.
- Tauri — A desktop application with a Rust core instead of a bundled browser. Augur runs React over that core across three channels — commands, streaming job output, events — and keeps every lead, person and score in a local SQLite file. Electron would have shipped Chromium to hold that database.
Building
- LangGraph — State machines for agents that have to survive a bad tool call. Munshot's reasoning engine is a fifteen-node graph carrying more than twenty state keys; TransformationConductor routes a rejected draft back to the converter over a conditional edge instead of returning it.
- MCP — One tool contract in front of many providers, so adding a data source is a server change rather than a graph change. Munshot's tool server put more than ten capabilities behind it; ORRERY exposes eight tools with output schemas and read-only or destructive annotations on each. mcp-use merged my fix for empty OpenAPI responses.
- OpenRouter — One endpoint in front of several model families, which is what makes a fallback chain expressible at all. When an executor returns JSON that will not parse, the repair call goes to a different family rather than to the same model a second time.
- PyTorch — Written against directly, not through a training framework. SYNAPTIC's entire dependency list is torch, numpy and tqdm, and the model is one file — research code that cannot be read line by line cannot be checked line by line either.
- Pyserini — BM25 over Lucene, and JITMIND's sparse retrieval channel. A dense index alone loses short, symbol-heavy queries, which is why the hybrid weight there is a function of the query rather than a constant somebody tuned once.
- FAISS — The dense channel beside it. JITMIND fuses four retrieval channels by reciprocal rank rather than picking a winner, because the channel that fails is a different one for every shape of query.
- Cohere — Embeddings and reranking. JITMIND's dense vectors, Structorium's rerank stage, BLUEPRINT's search across a database of 4,600 features. A reranker is the cheapest place to buy back the precision that a wide recall stage gave away.
- Neo4j — Coupling is a graph question. Structorium imports the call graph into it to find the ripple-risk neighbours of a finding, and mines temporal coupling out of co-change history in the git log. Neither question can be answered with a search across files.
- Pinecone — A hosted index for when the corpus has to outlive the process. ClarityEngine writes each summary back into the store it just retrieved from, so the example corpus grows with use; the index is 1536 dimensions because the embedding model says so.
- Next.js — This site: every route rendered on the server, printable, and readable with JavaScript switched off. The desktop shell above it is an enhancement the documents underneath are built not to need.
- PostgreSQL — The tenant boundary lives here, not in application code. Brekfuz forces row-level security on every table that carries customer content, and the services check the live catalogue at boot and refuse to start if a table is unprotected.
- Go — The Brekfuz memory service: hybrid vector and graph memory behind one API, the store every memory agent reads and writes. It carries more test files than source files, by more than three to one.
- tree-sitter — How Breken reads a repository before it says a word: parsed into symbols, then joined into a map where every edge records whether a binder resolved it or a name merely matched. Absolute answers are only given where the search could have been exhaustive.
Measuring
- OpenTelemetry — Tracing across the whole request path rather than logs per service. The medical retrieval deployment ran on it, and Run Phantom ingests it directly: point any OTLP exporter at it and every prompt, tool call and timing lands in a local timeline.
- TraceRoot — Observability aimed at agent runs specifically. TraceRoot merged my fix that makes the resolved default detector model visible instead of implied; a run that reports success because a fallback rescued it is the failure mode most dashboards are blind to.
- DeepEval — An evaluation harness for model output. Reading how other people score behaviour is the fastest way to find out what your own numbers are not measuring. My open pull requests against it are mostly about its cache: a cached result reused across incompatible metric settings is a green that means nothing.
- Future AGI — Evaluation and observability over prompts and datasets. It merged my fix to its Hugging Face import, so a PDF column uploads the document instead of storing the object's string representation.
- Vitest — The unit suite on this site runs a content gate: the build fails if an unfilled slot marker, a dangling relation or a blocklisted adjective reaches a page. That test does not exist to catch a regression. It exists to catch me.
- Playwright — Every route on this site checked in a real browser, with axe-core running inside the same suite, so an accessibility failure is a test failure and not an audit finding six months later.
Shipping
- Kubernetes — Where the medical retrieval service ran in production, with Redis caching in front and a managed vector store behind it. Boring on purpose.
- RabbitMQ — Durable queues, dead-letter handling and per-queue back-pressure. Moving Hey Amara's agent work off Redis lists and onto a broker is the change that shaped everything after it; the price is at-least-once delivery, which pushes idempotency into the application instead of removing it.
- Docker — Test isolation, not packaging. BLUEPRINT runs generated code against its own generated tests inside a container before any of it is called validated, and treats a passing syntax check as a diagnostic rather than as evidence.
- Redis — Redis Streams carry every Brekfuz job: a stream per source, a dead-letter queue per provider, and per-tenant fair admission on top. With ten busy tenants, a new one waits behind at most 576 jobs instead of someone else's 100,000-job backfill.
- GitHub Actions — A gate, not a notification. ORRERY's CI asserts that the digest of its entire tool surface still matches a checked-in pin, so a changed tool description blocks every stateful operation until a human approves it again.
- AWS — Where Brekfuz runs: four services on ECS Fargate — web, API, a worker fleet and the Go memory service — rolled out in dependency order, with 41 alert rules and 23 runbooks behind them.
- E2B — Breken's sandbox. A proposed fix runs against the repository's own typecheck, tests and build in an isolated machine, and is re-analysed to confirm the finding is gone, before any pull request opens.
- Stripe — Evidane's credits and billing: a checkout that cannot double-charge when a request replays, a rollout control plane, and two-person approval on high-risk staff privilege changes.