Show HN: I made a JSFiddle-style playground to test and share prompts fast

20 eugenegusarov 3 7/12/2025, 5:41:44 PM langfa.st ↗
I built this out of frustration as I lead the development of AI features at Yola.com.

Prompt testing should be simple and straightforward. All I wanted was a simple way to test prompts with variables and jinja2 templates across different models, ideally somthing I could open during a call, run few tests, and share results with my team. But every tool I tried hit me with a clunky UI, required login and API keys, or forced a lengthy setup process.

And that's not all.

Then came the pricing. The last quote I got for one of the tools on the market was $6,000/year for a team of 16 people in a use-it-or-loose-it way. For a tool we use maybe 2–3 times per sprint. That’s just ridiculous!

IMO, it should be something more like JSFiddle. A simple prompt playground that does not require you to signup, does not require API keys, and let's experiment instantly, i.e. you just enter a browser URL and start working. Like JSFiddle has. And mainly, something that costs me nothing if I'm or my team is not using it.

Eventually I gave up looking for solution and decided to build it by myself.

Here it is: https://langfa.st

Help me find what's wrong or missing or does not work from you perspctive.

P.S. I did not put any limits or restrictions yet, so test it wisely. Don't make me broke, please.

Comments (3)

jaredsohn · 1h ago
Some feedback when I tried to share: 1. Think it should prepopulate the name like various AI apps do.

2. Got an error:

"Unexpected Application Error! Cannot read properties of null (reading 'slice') TypeError: Cannot read properties of null (reading 'slice') at Hv (https://langfa.st/main.1510e80706059046a306.js:2:11907588) at hi (https://langfa.st/main.1510e80706059046a306.js:2:10922009) at Xa (https://langfa.st/main.1510e80706059046a306.js:2:10941715) at fs (https://langfa.st/main.1510e80706059046a306.js:2:10952350) at $c (https://langfa.st/main.1510e80706059046a306.js:2:10997432) at Gc (https://langfa.st/main.1510e80706059046a306.js:2:10997360) at Zc (https://langfa.st/main.1510e80706059046a306.js:2:10997202) at Nc (https://langfa.st/main.1510e80706059046a306.js:2:10993991) at yd (https://langfa.st/main.1510e80706059046a306.js:2:11006790) at Cd (https://langfa.st/main.1510e80706059046a306.js:2:11005523) Hey developer

You can provide a way better UX than this when your app throws errors by providing your own ErrorBoundary or errorElement prop on your route."

coffeecoders · 3h ago
On page load, execution logs panel hide all the buttons for me. https://i.imgur.com/eqDpu3Y.png

Maybe not obvious to users to collapse the panel.

Follow up, how are you handling actual calls to LLM?

Cheer2171 · 4h ago
Is this open source? Is it local browser API calls, or routing through your server?