# Recursive AI > We build open tools for software that agents and people use. Recursive AI is an independent lab in Austin, Texas: one person (Kurtis Welch) and a fleet of agents, building in the open. Contact: partners@recursiveai.org Every page has a clean markdown version (linked below, and from each page via ``). A machine-readable index of every project, API and tool with its status is at https://recursiveai.org/index.json. ## Projects - [oneyaml](https://recursiveai.org/oneyaml/index.md): One YAML 1.2 engine. Typed reads, and edits that keep your comments. Same behavior in every language. Source: https://github.com/recursive-ai-oss/oneyaml-rust - [oneyaml for Rust](https://recursiveai.org/oneyaml/rust/index.md) (Available): serde and lossless editing in one crate. Install: `cargo add oneyaml`. Docs: https://docs.rs/oneyaml. Crate: https://crates.io/crates/oneyaml - [oneyaml for C#](https://recursiveai.org/oneyaml/csharp/index.md) (Coming soon): Written from scratch for .NET. - [oneyaml for Go](https://recursiveai.org/oneyaml/go/index.md) (Coming soon): Written from scratch for Go. - [The oneyaml specification](https://recursiveai.org/oneyaml/spec/index.md): the shared behavior and conformance every oneyaml library meets. ## APIs [The API catalog](https://recursiveai.org/apis/index.md). Pay as you go: add $5 to start, and usage comes out of a free allowance first. Ask to be notified: POST https://recursiveai.org/notify with `{"email": "...", "list": "apis"}`. - **HTML → Markdown** (Coming soon, Documents): Clean Markdown from any page or HTML string. - **HTML → PDF** (Coming soon, Documents): Print-quality PDFs from HTML and CSS. - **Markdown → HTML** (Coming soon, Documents): Safe, standard HTML from Markdown. - **Markdown → PDF** (Coming soon, Documents): Typeset PDFs straight from Markdown. - **PDF → images** (Coming soon, Documents): Every page as an image. - **Images → PDF** (Coming soon, Documents): Many images, one PDF. - **Validate YAML** (Coming soon, Data): Every error, with a code, a location and a suggested fix. Built on oneyaml. - **Repair YAML** (Coming soon, Data): Broken YAML in, valid YAML out, with a list of what changed. - **Validate JSON** (Coming soon, Data): Precise errors for broken JSON. - **Repair JSON** (Coming soon, Data): Trailing commas, single quotes and stray comments, fixed. - **JSON → YAML** (Coming soon, Data): Readable YAML from any JSON. - **YAML → JSON** (Coming soon, Data): YAML 1.2, read correctly and written as JSON. - **Text → address** (Coming soon, Text): Messy address strings, parsed and cleaned into tidy fields. ## Tools [Free web tools, no account](https://recursiveai.org/tools/index.md). Ask to be notified: POST https://recursiveai.org/notify with `{"email": "...", "list": "tools"}`. - **Multiplayer Markdown** (Coming soon): Write together in real time. Share a link and start. - **YAML validator** (Coming soon): Finds errors and suggests fixes. - **JSON validator** (Coming soon): Precise errors for broken JSON. - **YAML → JSON** (Coming soon): Paste YAML, get JSON. - **JSON → YAML** (Coming soon): Paste JSON, get readable YAML. ## Research [All research notes](https://recursiveai.org/research/index.md). RSS: https://recursiveai.org/research/feed.xml - [Normalize like a skeptic](https://recursiveai.org/research/normalize-like-a-skeptic/index.md) (2026-08-27): What it takes to measure AI-assisted development honestly — score scope, never lines; classify diffs, never messages; decompose, don’t zero; and drop eras with missing data from headline claims. - [Pixel statistics cannot see meaning](https://recursiveai.org/research/pixel-statistics/index.md) (2026-08-27): Mechanical metrics validate geometry, scale, and consistency well — and validate semantics not at all. Budget for a semantic check on any axis where meaning can silently vanish. - [Corrective feedback should be git-diffable](https://recursiveai.org/research/git-diffable-feedback/index.md) (2026-08-27): When an agent misbehaves, the durable fix is a short, readable rule appended to its definition. The learned policy is text — you can read it, diff it, blame it, and revert it. - [The best sub-agent output is a tool call, not a report](https://recursiveai.org/research/sub-agent-tool-calls/index.md) (2026-08-27): Context is the scarce resource. A helper agent burns its own context on messy discovery, then injects clean, executed tool calls into the parent’s queue. - [Decomposition delivers what checkpointers simulate](https://recursiveai.org/research/decomposition-vs-checkpointing/index.md) (2026-08-27): When every step is an independently addressable endpoint, replaying step 30 means calling step 30. And when a multi-agent build needs resuming, the resumer should be an agent, not a replay engine. - [Separate orchestration from the unit of inference](https://recursiveai.org/research/orchestration-vs-inference/index.md) (2026-08-27): A flow is deliberately not a workflow engine. Control flow belongs one layer up, in real code, which does branching, looping, and retry better than any YAML graph DSL ever has. - [Catalog size measures the wrong thing](https://recursiveai.org/research/integration-catalogues/index.md) (2026-08-27): A connector library is a moat only against users who can’t generate their own tools. The axis that actually matters is time-to-first-working-integration. ## About - [Alera](https://recursiveai.org/alera/index.md): the engine we build everything on. - [About](https://recursiveai.org/about/index.md): the founder, the solo lab, trusted collaborators, contact. - [Devlog](https://recursiveai.org/devlog/): Kurtis's daily log of what shipped. Data: https://recursiveai.org/devlog/data/devlog.json - [Home](https://recursiveai.org/index.md) - GitHub: https://github.com/recursive-ai-oss