{
"radar":"Product Radar",
"url":"https://productradar.org/",
"edition":{"number":1,"date":"2026-10-12","title":"First draft"},
"preview":true,
"quadrants":[{"id":"models","name":"Models & Agents"},{"id":"tools","name":"Tools & Harnesses"},{"id":"infra","name":"Infrastructure"},{"id":"practices","name":"Practices"}],
"rings":[{"id":"adopt","name":"Adopt"},{"id":"trial","name":"Trial"},{"id":"assess","name":"Assess"},{"id":"hold","name":"Hold"}],
"entries":[
{"id":"agent-skills","name":"Agent skills","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Packaged instructions and scripts that an agent loads when a task matches them.","rationale":"Every repeated job gets a skill, so the next agent does it right without asking me. Claude Code and Codex share the same skills.","url":null,"page":"https://productradar.org/e/agent-skills/","history":[{"date":"2026-10-12","ring":"adopt","note":"Every repeated job has a skill."}]},
{"id":"agent-browser","name":"agent-browser","quadrant":"tools","ring":"adopt","change":"new","status":"draft","summary":"A browser automation CLI built for AI agents.","rationale":"My agents use agent-browser for scripted browser work. Pages that need my logins run in a separate Chrome profile kept for agents.","url":"https://agent-browser.dev","page":"https://productradar.org/e/agent-browser/","history":[{"date":"2026-10-12","ring":"adopt","note":"Only browser tool since September 2026."}]},
{"id":"agent-readable-repos","name":"AGENTS.md instruction files","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"A plain Markdown file that tells coding agents how to work in a repository.","rationale":"One git-tracked instruction file serves both Claude Code and Codex, and each repo adds its own, so both agents follow the same rules.","url":"https://agents.md","page":"https://productradar.org/e/agent-readable-repos/","history":[{"date":"2026-10-12","ring":"adopt","note":"One rule set for all my agents."}]},
{"id":"ask-first-gate","name":"Ask-first gate","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Letting agents ship work end to end while a short list of change types waits for the owner's approval.","rationale":"Agents ship to production on their own, except changes to money, payouts or personal data. Those wait for one yes from me.","url":null,"page":"https://productradar.org/e/ask-first-gate/","history":[{"date":"2026-10-12","ring":"adopt","note":"Part of my definition of done."}]},
{"id":"claude-code","name":"Claude Code","quadrant":"tools","ring":"adopt","change":"new","status":"draft","summary":"Anthropic's coding agent that works in the terminal, the IDE and the desktop app.","rationale":"I run my code, email, calendar and task board through Claude Code every day, with my own skills and guard hooks.","url":"https://claude.com/product/claude-code","page":"https://productradar.org/e/claude-code/","history":[{"date":"2026-10-12","ring":"adopt","note":"My daily agent harness."}]},
{"id":"claude-fable","name":"Claude Fable","quadrant":"models","ring":"adopt","change":"new","status":"draft","summary":"Anthropic's Claude model aimed at the hardest knowledge work and coding problems.","rationale":"Fable is my main model. It plans the work with me and hands the building to other agents.","url":"https://www.anthropic.com/claude/fable","page":"https://productradar.org/e/claude-fable/","history":[{"date":"2026-10-12","ring":"adopt","note":"Main model in my daily sessions."}]},
{"id":"claude-haiku","name":"Claude Haiku","quadrant":"models","ring":"trial","change":"new","status":"draft","summary":"Anthropic's smallest and fastest Claude model family.","rationale":"Haiku runs small checks inside my agent builds and drives well-defined browser tasks.","url":"https://www.anthropic.com/claude/haiku","page":"https://productradar.org/e/claude-haiku/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use for small, narrow checks."}]},
{"id":"claude-opus","name":"Claude Opus","quadrant":"models","ring":"adopt","change":"new","status":"draft","summary":"Anthropic's Claude model family for complex coding and long agent tasks.","rationale":"Opus writes the code in my agent builds. Each ticket gets a fresh Opus agent.","url":"https://www.anthropic.com/claude/opus","page":"https://productradar.org/e/claude-opus/","history":[{"date":"2026-10-12","ring":"adopt","note":"Default implementer in my agent builds."}]},
{"id":"claude-sonnet","name":"Claude Sonnet","quadrant":"models","ring":"adopt","change":"new","status":"draft","summary":"Anthropic's mid-size Claude model family for everyday coding and agent work.","rationale":"Sonnet gathers evidence for my builds and reviews risky changes with a fresh context.","url":"https://www.anthropic.com/claude/sonnet","page":"https://productradar.org/e/claude-sonnet/","history":[{"date":"2026-10-12","ring":"adopt","note":"Used daily for evidence, browser work and review."}]},
{"id":"cloudflare-pages","name":"Cloudflare Pages and Wrangler","quadrant":"infra","ring":"trial","change":"new","status":"draft","summary":"Cloudflare's static and full-stack hosting, deployed with the Wrangler CLI.","rationale":"My personal site and this radar run on Cloudflare Pages.","url":"https://pages.cloudflare.com","page":"https://productradar.org/e/cloudflare-pages/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use for smaller sites."}]},
{"id":"codex","name":"Codex","quadrant":"tools","ring":"trial","change":"new","status":"draft","summary":"OpenAI's coding agent, available as a terminal CLI and inside ChatGPT.","rationale":"Codex reads the same instructions and skills as Claude Code. I run it as a second agent next to Claude.","url":"https://developers.openai.com/codex","page":"https://productradar.org/e/codex/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use as a second harness."}]},
{"id":"company-brain","name":"Company brain","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Keeping a company's strategy, decisions and facts in documents that agents read before they act.","rationale":"My strategy, standing decisions and facts live in documents that agents read before they act. They ask me only what the documents do not answer.","url":null,"page":"https://productradar.org/e/company-brain/","history":[{"date":"2026-10-12","ring":"adopt","note":"How my agents decide without me."}]},
{"id":"compiler-feedback","name":"Compilers as agent feedback","quadrant":"practices","ring":"trial","change":"new","status":"draft","summary":"Choosing languages and checks that catch agent mistakes before a human reviews the work.","rationale":"I pick languages and checks that catch agent mistakes before I see them. This radar is written in Rust for that reason.","url":null,"page":"https://productradar.org/e/compiler-feedback/","history":[{"date":"2026-10-12","ring":"trial","note":"In use on this site and in typechecks."}]},
{"id":"computer-use","name":"Computer use on macOS","quadrant":"models","ring":"hold","change":"new","status":"draft","summary":"A Claude tool that lets a model operate a desktop through screenshots, mouse and keyboard.","rationale":"I stopped using it for Mac apps. The permission grants never took effect on my Mac, so agents use scripts instead.","url":"https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool","page":"https://productradar.org/e/computer-use/","history":[{"date":"2026-10-12","ring":"hold","note":"Dropped: macOS permission grants never took effect."}]},
{"id":"cross-model-review","name":"Cross-model review","quadrant":"practices","ring":"trial","change":"new","status":"draft","summary":"Having a different model, with a fresh context, review an agent's change before it merges.","rationale":"A second model with a fresh, read-only context reviews risky changes before they ship. The author's model never reviews its own risky work.","url":null,"page":"https://productradar.org/e/cross-model-review/","history":[{"date":"2026-10-12","ring":"trial","note":"Recent, used on risky changes."}]},
{"id":"fluidvoice","name":"FluidVoice","quadrant":"tools","ring":"adopt","change":"new","status":"draft","summary":"An open-source macOS dictation app with on-device speech recognition.","rationale":"I dictate most of my prompts with FluidVoice, which runs locally on my Mac.","url":"https://fluidvoice.com","page":"https://productradar.org/e/fluidvoice/","history":[{"date":"2026-10-12","ring":"adopt","note":"My daily dictation tool."}]},
{"id":"gemini-flash","name":"Gemini Flash","quadrant":"models","ring":"trial","change":"new","status":"draft","summary":"Google's fast Gemini model tier for high-volume tasks.","rationale":"Gemini Flash picks the quoted passages on isaiconsciousyet.com. It copies text and never writes a quote itself.","url":"https://deepmind.google/models/gemini/flash/","page":"https://productradar.org/e/gemini-flash/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use in one publishing pipeline."}]},
{"id":"github-actions","name":"GitHub Actions","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"GitHub's CI/CD and workflow automation service.","rationale":"Every Kaufmann Health change runs through GitHub Actions, with staging tests and a daily security audit.","url":"https://github.com/features/actions","page":"https://productradar.org/e/github-actions/","history":[{"date":"2026-10-12","ring":"adopt","note":"CI for all my active repos."}]},
{"id":"guard-hooks","name":"Guard hooks for agents","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Scripts that run before or after an agent's tool calls to block or flag risky actions.","rationale":"Hooks check commands, file reads and email sends before they run, and the agent cannot switch them off.","url":null,"page":"https://productradar.org/e/guard-hooks/","history":[{"date":"2026-10-12","ring":"adopt","note":"Every session runs behind guard hooks."}]},
{"id":"linear","name":"Linear","quadrant":"tools","ring":"adopt","change":"new","status":"draft","summary":"An issue tracker and product development tool for software teams.","rationale":"Kaufmann Health tickets live in Linear. Agents pick up a ticket and build it end to end.","url":"https://linear.app","page":"https://productradar.org/e/linear/","history":[{"date":"2026-10-12","ring":"adopt","note":"Ticket source for my agent builds."}]},
{"id":"privacy-masking","name":"Mask personal data before a model sees it","quadrant":"practices","ring":"trial","change":"new","status":"draft","summary":"Replacing personal identifiers with placeholders before text reaches a language model.","rationale":"Kaufmann Health support mail is masked before agents read it, so patient identifiers stay out of model context.","url":null,"page":"https://productradar.org/e/privacy-masking/","history":[{"date":"2026-10-12","ring":"trial","note":"In use since October 2026."}]},
{"id":"metabase","name":"Metabase","quadrant":"tools","ring":"hold","change":"new","status":"draft","summary":"An open-source business intelligence and dashboard tool.","rationale":"I shut down my Metabase dashboards in September 2026 to save cost. Agents run the KPI queries directly.","url":"https://www.metabase.com","page":"https://productradar.org/e/metabase/","history":[{"date":"2026-10-12","ring":"hold","note":"Retired on 2026-09-25."}]},
{"id":"mlx-whisper","name":"MLX Whisper","quadrant":"infra","ring":"trial","change":"new","status":"draft","summary":"A Whisper speech recognition port that runs on Apple silicon with Apple's MLX framework.","rationale":"I transcribe video footage locally on my Mac with MLX Whisper.","url":"https://github.com/ml-explore/mlx-examples/tree/main/whisper","page":"https://productradar.org/e/mlx-whisper/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use in one film project."}]},
{"id":"mcp","name":"Model Context Protocol","quadrant":"infra","ring":"trial","change":"new","status":"draft","summary":"An open protocol for connecting AI applications to tools and data sources.","rationale":"I connect a few apps through MCP, like T3 Code and a video editor. For email, calendar and Drive I use skills, because raw MCP tools failed too often.","url":"https://modelcontextprotocol.io","page":"https://productradar.org/e/mcp/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use for a few apps only."}]},
{"id":"model-tiers","name":"Model tier per task","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Assigning each agent task to the smallest model that can do it reliably.","rationale":"Each agent gets a pinned model. Haiku does small checks, Sonnet gathers evidence and Opus writes code.","url":null,"page":"https://productradar.org/e/model-tiers/","history":[{"date":"2026-10-12","ring":"adopt","note":"Pinned on every agent by a hook."}]},
{"id":"models-select-code-verifies","name":"Models select, code verifies","quadrant":"practices","ring":"trial","change":"new","status":"draft","summary":"Letting a model choose from source material while code checks the choice against the source.","rationale":"On isaiconsciousyet.com a model picks a passage and code checks that the exact text is on the source page.","url":null,"page":"https://productradar.org/e/models-select-code-verifies/","history":[{"date":"2026-10-12","ring":"trial","note":"In use in one publishing pipeline."}]},
{"id":"nano-banana-pro","name":"Nano Banana Pro","quadrant":"models","ring":"trial","change":"new","status":"draft","summary":"Google's Gemini image generation and editing model.","rationale":"I make brand and ad images with Nano Banana Pro.","url":"https://deepmind.google/models/gemini-image/pro/","page":"https://productradar.org/e/nano-banana-pro/","history":[{"date":"2026-10-12","ring":"trial","note":"In real use for occasional image work."}]},
{"id":"notion","name":"Notion","quadrant":"tools","ring":"hold","change":"new","status":"draft","summary":"A workspace app for docs, wikis, databases and project boards.","rationale":"I moved my docs and task board from Notion to Obsidian in April 2026. Agents now look in one place.","url":"https://www.notion.com","page":"https://productradar.org/e/notion/","history":[{"date":"2026-10-12","ring":"hold","note":"Moved to Obsidian on 2026-04-20."}]},
{"id":"obsidian","name":"Obsidian","quadrant":"tools","ring":"adopt","change":"new","status":"draft","summary":"A Markdown note-taking app that stores notes as local files.","rationale":"My strategy docs, decisions and task board live in an Obsidian vault. Agents read and update it as plain Markdown.","url":"https://obsidian.md","page":"https://productradar.org/e/obsidian/","history":[{"date":"2026-10-12","ring":"adopt","note":"Home of my company brain and task board."}]},
{"id":"parallel-web","name":"Parallel","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"Web search, extraction and research APIs built for AI agents.","rationale":"Parallel is my agents' default for web search, page extraction and research.","url":"https://parallel.ai","page":"https://productradar.org/e/parallel-web/","history":[{"date":"2026-10-12","ring":"adopt","note":"Default research tool for my agents."}]},
{"id":"parallel-agents","name":"Parallel agents in worktrees","quadrant":"practices","ring":"adopt","change":"new","status":"draft","summary":"Running several coding agents at once, each in its own git worktree and its own context.","rationale":"A lead agent splits the work, and a fresh agent builds each ticket in its own worktree. Its context ends with the ticket.","url":null,"page":"https://productradar.org/e/parallel-agents/","history":[{"date":"2026-10-12","ring":"adopt","note":"How I build every ticket."}]},
{"id":"playwright-mcp","name":"Playwright MCP","quadrant":"tools","ring":"hold","change":"new","status":"draft","summary":"An MCP server that lets agents drive a browser through Playwright.","rationale":"I removed it in September 2026 and moved my agents to agent-browser.","url":"https://github.com/microsoft/playwright-mcp","page":"https://productradar.org/e/playwright-mcp/","history":[{"date":"2026-10-12","ring":"hold","note":"Removed on 2026-09-27, replaced by agent-browser."}]},
{"id":"railway","name":"Railway","quadrant":"infra","ring":"assess","change":"new","status":"draft","summary":"A cloud platform for deploying web apps, servers and databases.","rationale":"I have run side services on Railway, including my old Metabase. I have no firm verdict yet.","url":"https://railway.com","page":"https://productradar.org/e/railway/","history":[{"date":"2026-10-12","ring":"assess","note":"Used for side services, no verdict yet."}]},
{"id":"resend","name":"Resend","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"An email sending API for developers.","rationale":"Kaufmann Health sends its product email through Resend.","url":"https://resend.com","page":"https://productradar.org/e/resend/","history":[{"date":"2026-10-12","ring":"adopt","note":"Production email for Kaufmann Health."}]},
{"id":"untested-agent-code","name":"Shipping untested agent code","quadrant":"practices","ring":"hold","change":"new","status":"draft","summary":"Merging code that an agent wrote without tests that check it.","rationale":"I do not ship agent code without tests. Each push runs a typecheck and lint, staging runs end-to-end tests, and a bug I report gets a failing test first.","url":null,"page":"https://productradar.org/e/untested-agent-code/","history":[{"date":"2026-10-12","ring":"hold","note":"Avoid: tests gate every commit."}]},
{"id":"stripe","name":"Stripe","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"A payments platform. Stripe Connect handles payments and payouts for platforms and marketplaces.","rationale":"Kaufmann Health takes payments and pays out therapists through Stripe Connect.","url":"https://stripe.com","page":"https://productradar.org/e/stripe/","history":[{"date":"2026-10-12","ring":"adopt","note":"Production payments for Kaufmann Health."}]},
{"id":"supabase","name":"Supabase","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"A hosted Postgres platform with auth, storage and APIs.","rationale":"Kaufmann Health runs its Postgres database and file storage on Supabase in production.","url":"https://supabase.com","page":"https://productradar.org/e/supabase/","history":[{"date":"2026-10-12","ring":"adopt","note":"Production database for Kaufmann Health."}]},
{"id":"t3-code","name":"T3 Code","quadrant":"tools","ring":"trial","change":"new","status":"draft","summary":"An open-source control plane for coding agents, with desktop, web and mobile apps.","rationale":"I run agent sessions in the T3 Code desktop app and check their work in its preview.","url":"https://t3.codes","page":"https://productradar.org/e/t3-code/","history":[{"date":"2026-10-12","ring":"trial","note":"In recent daily use, still alpha."}]},
{"id":"typesafe-jev","name":"TypeSafe Jev","quadrant":"models","ring":"assess","change":"new","status":"draft","summary":"A System One model from TypeSafe AI that returns typed judgments and probabilities for code to act on.","rationale":"isaiconsciousyet.com uses Jev where code needs a typed answer from a model. One project is not enough for a verdict.","url":"https://typesafe.ai","page":"https://productradar.org/e/typesafe-jev/","history":[{"date":"2026-10-12","ring":"assess","note":"Tried in one project."}]},
{"id":"vercel","name":"Vercel","quadrant":"infra","ring":"adopt","change":"new","status":"draft","summary":"A cloud platform for deploying web apps, with first-class Next.js support.","rationale":"Kaufmann Health runs on Vercel, including its scheduled jobs.","url":"https://vercel.com","page":"https://productradar.org/e/vercel/","history":[{"date":"2026-10-12","ring":"adopt","note":"Production hosting for two sites."}]}
]
}
