Show HN: Experiment ▴ LLM UI for developers with tool use visualization

github.com

8 points by actualwitch 2 days ago

Hey HN! I built Experiment to solve a common frustration in LLM development: the lack of proper tools for prompt engineering experimentation. Here's what makes it different:

Key Features:

- Load and edit chat completion logs from CSV files

- Fork and modify specific conversation entries

- Run inference via Anthropic, Mistral, and OpenAI

- Define custom tools using JSONSchema format

- Visual tool usage analysis with collapsible, sorted key-value pairs

- Full mobile support and available as installable PWA

Technical Highlights:

- Built with React using custom isomorphic architecture

- Implements streaming SSR and static HTML generation

- Runs on GitHub Pages or as a native binary (Mac/Linux/Windows)

- Progressive enhancement for optimal performance

Why I Built This:

Working with LLMs, I found existing solutions were either too basic (editing code directly) or too rigid (chat UIs with fixed tools). Experiment bridges this gap, offering a flexible middle ground for developers.

Try it out: https://actualwitch.github.io/experiment GitHub: https://github.com/actualwitch/experiment

Would love to hear your thoughts, especially on the architecture choices and developer experience!

naix 2 days ago

Woah! No way you just built what we are building internally. I wish we could just OpenSource our version of this. Looks cool

Couple of things,

- The UX is too on the face. A trait fo good devtool is to use spacing as much as possible. The navigation seems confusing!

- If you could auto add client/providers, I would help users a lot. Especially considering the models that do not support the OpenAI standards.

- Better font please :=

  • actualwitch 2 days ago

    Thank you! Indeed, UX and design needs some work. One of the avenues I wanted to explore in the future that may be related to making efficient use of space is showing multiple chats side-by-side to make differences between them pop out. By auto add clients, do you mean detecting the ones running locally? As for the font, in this project I wanted to try out modern-font-stacks[0], but I am increasingly coming to conclusion that choice isn't worth it, especially with how it looks on platforms other than mac.

    [0] https://github.com/system-fonts/modern-font-stacks