ivor.devprojects
projects31 tools

Tools for agents and the people running them

Everything I build and use, agents first: the agent systems, the harness tooling they run on, and the apps that practice produces. Most of it is open source.

featured

pythondebugging · MCP

Pyokka

(opens in a new tab)

Live values and time-travel debugging for Python. A VS Code extension, browser interface, CLI, and MCP server let people and agents inspect recorded execution or pause a program and investigate together.

Pyokka in VS Code with recorded Python values and the Code Story panel
javascript / typescriptruntime evidence

Tracelight

(opens in a new tab)

Execution recording, live debugging, and code history for JavaScript and TypeScript. Follow a value's history and check a change against a new recording through VS Code, a browser, the CLI, or MCP.

Tracelight paused in a TypeScript function with inline variables and an explanation
browser evidencevoice feedback

Rewalk

(opens in a new tab)

Records browser interactions and spoken feedback, then connects complaints to DOM changes and React components. Produces bug reports and replays a coding agent can use.

Rewalk demo showing browser recording and spoken feedback
pythonagent tool contracts

agent-cli-scaffold / agtcli

(opens in a new tab)

A runtime and scaffold for CLIs agents can drive: structured output, typed exit codes, credential handling, request guards, and contract tests.

pythonHTTP contracts

har2cli

(opens in a new tab)

Turns browser network captures into redacted HTTP contracts, tests a selected GET request, and hands it to agtcli to generate a CLI. Credentials stay separate from exported contracts and authentication probes have request limits.

typescriptagent orchestration · MCP

WorkDone

(opens in a new tab)

Coordinates Claude Code, Codex, and Cursor agents across machines through ChatGPT and MCP. Voice interaction, persistent sessions, agent events, approvals, and remote file and shell access.

WorkDone linking a ChatGPT conversation to coding agents and receiving their messages
typescriptagent harnesses

Farrier

(opens in a new tab)

Generates repository-specific agent harnesses with rules, tested guard hooks, and verification commands. Includes session analysis and evaluations that distinguish observed results from unproven benefits.

typescriptn8n community node

Claude Agent SDK for n8n

(opens in a new tab)

Runs Claude Agent SDK and Claude Code tasks inside self-hosted n8n workflows: tool use, MCP integration, and multiple providers (Anthropic, OpenRouter, LiteLLM) behind one node.

The Claude Agent SDK node running an Execute Task inside an n8n workflow
goopen source

Mercadona CLI

(opens in a new tab)

Unofficial shopping CLI for tienda.mercadona.es: search the catalog, read prices, build a cart and prepare checkout from the terminal. A single static binary with --json on every command, designed so an agent can drive it.

$ mercadona batch -f lista.txt
• queso     → [51110] Queso rallado mozzarella Hacendado — 1.60€
• carne     → [34157] Carne de pimiento choricero Hacendado — 1.55€
• mayonesa  → [13406] Mayonesa Hacendado — 1.20€
$ mercadona search --limit 5 --json mayonesa
# data to stdout, logs to stderr, exit codes for scripts

smaller tools

ios apps

Six in one summer, none hand-written: I ran coding agents against tight specs with acceptance criteria and release gates, the same way I build agent systems for a bank by day. Two live on the App Store, one in TestFlight, three in progress.

app storeiOS · Education · pay once

Quiet Recall

Understand difficult flashcards instead of memorizing them blindly.

A calm spaced-repetition queue paired with private, on-device AI explanations: when a card keeps failing, the app explains it instead of just rescheduling it. No account, no ads, no tracking, no subscription.

The backlog problem gets its own design: instead of the guilt-wall of 400 due cards, Quiet Recall offers a five-minute recovery session that records normal reviews and leaves the rest for later.

Shipped through 1.2 with two rounds of App Store screenshot and ASO iteration, all run from a metadata-as-code directory in the repo.

SwiftUI · on-device Apple Intelligence · spaced repetition · StoreKit

View on the App Store (opens in a new tab)
Quiet Recall's Today screen with a ready review session and backlog recovery
app storeiOS + macOS · Productivity

Keepclip

Paste manager and secret vault.

Clipboard history that understands what it holds: links, code, colors and text are typed and searchable, sensitive entries live in a biometric-gated vault that renders as dots everywhere else.

The real engineering is the surface area: one shared core feeding six targets. The iOS app, a custom keyboard, Safari and share extensions, an action extension, and a Mac companion all have to agree about typing, dedup and vault rules.

SwiftUI · App Intents · keyboard/Safari/share/action extensions · macOS companion

Keepclip's clipboard history with typed entries and a hidden vault item
betaiOS + API · TestFlight

NoteWhisper

Voice in, organized notes out.

Speak, and get organized notes back: Whisper and GPT-4o transcription, AI summaries, and Qdrant vector search across everything you've ever said. Spanish translation built in.

The backend is the interesting half: audio processing runs serverless on Modal, and Langfuse tracing plus Sentry were wired in from day one, so every transcription is a traced, debuggable pipeline run instead of a black box.

Swift · Whisper · GPT-4o · Qdrant · Modal · Langfuse · Sentry

NoteWhisper transcribing a voice note into structured text
in progressiOS · Business · in progress

GlossProof

Before-and-after proof for detailers.

For solo mobile detailers: one job records the customer and vehicle, before-evidence, service scope and visible condition marks, then aligned after-evidence and a reviewable completion proof to hand the customer.

Local-first, with a complete manual fallback for every capture step: scan, alignment and AI assists are conveniences, never requirements. It sells a factual handoff, not a legal damage inspection.

The 1.0 cut was ruthless on purpose: 28 features kept, 29 deferred, frozen in a launch-cut manifest so scope creep had to argue with a file, not a feeling.

SwiftUI · Vision · aligned photo capture · PDF reports

GlossProof job flow for capturing before and after evidence
in progressiOS · Business · in progress

QuoteWalk

Walk the rooms. Speak the scope. Send the quote.

Voice-first estimating for residential painters: walk a bedroom saying "two coats on these walls, repair three holes, exclude the ceiling" and watch it become catalog-backed line items and a Good/Better/Best quote.

The AI boundary is the product: the model structures spoken scope and maps it to the painter's own deterministic price catalog, but it never invents dimensions, labor rates, coverage, taxes or a final price. Pricing judgment stays with the human.

SwiftUI · SpeechAnalyzer · Foundation Models · deterministic pricing catalog · PDF

QuoteWalk's estimate builder populated with room line items
in progressiOS · Business · in progress

EventLead

Scan the badge. Remember the conversation.

Event teams collect contact details but lose the conversation: the objection, the team size, the promised follow-up. EventLead pairs a badge or card scan with a ten-second voice note and structures it into the user's own qualification fields.

Follow-ups get scheduled before the next attendee arrives, and the pipeline exports as clean CSV and vCard. Speech and AI are capability-gated: manual entry and typed notes keep the app complete without them.

SwiftUI · Vision · SpeechAnalyzer · App Intents · AlarmKit

EventLead's lead screen pairing scanned contact data with a structured voice note