Posts

Goose as a Task Runner

Goose is a CLI language model-based agent. Goose exposes a chat interface and uses tool calling (mostly to invoke shell commands) to accomplish the objective prompted by the user. These tasks can include everything from writing code to running tests to converting a folder full of mov files to...

Document Citations

Using Claude Citations to annotate the sources for document Q&A

The following is an implementation of document Q&A with citations using Anthropic's press release for Claude Citations, a feature meant to reduce LLM hallucinations and provide clarity for which part of the source text the model is using to produce answers to questions. The content below the next...

LLM Conversation Branching

Visualizing and navigating branched conversations with LLMs and embeddings

I wrote about Conversation Branching on my main blog and I've been prototyping an LLM chat app called Delta that has first-class conversation branching. LLM conversations typically follow a linear path, making it unintuitive to explore alternative directions or recover from miscommunications. This...

The Unreasonable Effectiveness of Generating UI with React and Tailwind

Writing React/Tailwind with LLMs is effortless

If you've experimented with Claude Artifacts or v0.dev, maybe you've been delighted (as I have) that the language model can conjure a UI for an idea you describe. Most of my experience building software, especially professionally, comes from working on the "backend". Building frontend (read: user...