Show HN: GolemUI – The new paradigm for JavaScript forms (golemui.com)

17 points by wtfdeveloper 3 hours ago

We're a team of three friends who have been working with forms and Open Source for a decade, and we joined forces together to create something where we can apply all of our experience.

We recently released GolemUI, an Open Source library to generate forms dynamically from JSON definitions, with a typed layer to simplify authoring.

This library has a lot to offer. These are the main characteristics:

1. A JSON engine. The form is governed by a JSON definition that you can store in a DB, version, diff, or generate it with LLMs as a validated JSON.

2. We provide also 28 headless components (and growing) that you can style with CSS variables. We offer APIs so you can drop in Material, Shoelace, or your own components.

3. A DX typed authoring layer on top to write forms programmatically, that generates JSON. So you don't have to write it.

4. The same definition can render the UI components in React, Angular, Vue, Lit, or Vanilla JS.

5. We also have a deterministic MCP that has tools for to validate the model's output, generate JSONs or code, and ensure that the definition returned by the LLM is always valid.

You can find more information here:

Happy to hear any feedback from you and answer any questions!

recursive 8 minutes ago

All the field relationships seem to be expressed in strings. This suggests that you might not be able to use auto-complete or build-time syntax or type checking on them. I like the general idea, but that would be a big downside if I'm understanding correctly.

seattle_spring 2 minutes ago

If done properly, autocomplete w/ Typescript and string literals should work just fine.

manojlds 9 minutes ago

Why the name Golem?

wtfdeveloper 4 minutes ago

Golems are mythological creatures that are brought to life with clay.

For us, our library is the clay, and the result of what you code with it is the golem.

nu11ptr an hour ago

As someone just starting out with the JS ecosystem, how does this compare to something like SurveyJs?

wtfdeveloper an hour ago

Honest caveat, none of us have really used SurveyJS, so correct me if I'm off. Biggest overlap is the JSON-schema idea, which is our first point here:

1. A JSON engine. The form is governed by a JSON definition that you can store in a DB, version, diff, or generate it with LLMs as a validated JSON.

2. We provide also 28 headless components (and growing) that you can style with CSS variables. We offer APIs so you can drop in Material, Shoelace, or your own components.

3. A DX typed authoring layer on top to write forms programmatically, that generates JSON. So you don't have to write it.

4. The same definition can render the UI components in React, Angular, Vue, Lit, or Vanilla JS.

5. We also have a deterministic MCP that has tools for to validate the model's output, generate JSONs or code, and ensure that the definition returned by the LLM is always valid.

But you can see that we do way more...

verdverm an hour ago

How is this a new paradigm?

This idea for JSON -> form has existed for a decade, one example: https://github.com/eclipsesource/jsonforms

wtfdeveloper an hour ago

Correct,

But there is more, paraphrasing the post itself:

This library has a lot to offer. These are the main characteristics:

1. A JSON engine. The form is governed by a JSON definition that you can store in a DB, version, diff, or generate it with LLMs as a validated JSON.

2. We provide also 28 headless components (and growing) that you can style with CSS variables. We offer APIs so you can drop in Material, Shoelace, or your own components.

3. A DX typed authoring layer on top to write forms programmatically, that generates JSON. So you don't have to write it.

4. The same definition can render the UI components in React, Angular, Vue, Lit, or Vanilla JS.

5. We also have a deterministic MCP that has tools for to validate the model's output, generate JSONs or code, and ensure that the definition returned by the LLM is always valid.

So we see ourselves as the one shop stop for all your form needs.

tiborsaas an hour ago

This is a good batteries included form framework spec, but not a new paradigm. A new paradigm would be something like not filling forms at all and just process user input via an LLM. Or using voice input in a controlled way. Maybe an adaptive single input field that always knows what you need type.

wtfdeveloper an hour ago

pavlov an hour ago

The overuse of blue and purple gradient fills on the landing page is a telltale sign of AI slop.

I’m sorry, maybe it’s shallow, but that makes me close the tab.

manojlds 10 minutes ago

Don't judge a book by its cover. In this case, a library by its website.

criticalfault 18 minutes ago

i have the same sentiment.

upon opening the site, I immediately got vibed feeling so I closed the tab.

wtfdeveloper an hour ago

haha! Fair point! We are three old school programmers and have no idea on design, so yes for the website ONLY, we let Claude designed for us...

If any designers come over to the comment section, we would love to hear from you! We'd love to improve our website with your advice.

On the other hand, the code, we started coding this more than one year ago and we have poured our souls on it.

If you can bare the AI obvious styling front page, I think you would like the framework

ssalka 43 minutes ago

There are lots of skills available that enhance Claude's design capability, eg:

https://www.tasteskill.dev/

https://www.usehallmark.com/

https://layers.jamiemill.com/

https://impeccable.style/

wtfdeveloper 42 minutes ago

cadamsdotcom an hour ago

My main advice would be to get rid of anything extraneous in the site.

Animations should serve a purpose - for example, gamifying with a fireworks animation is useful if you think that communicates what you want about the product.

Engineers know that rainbow borders on boxes are tricksy to implement but a cinch for agents. So rainbow borders are a loud way to say “we didn’t pay close attention to what we were building when we built this” - or to be a bit more kind, “we shipped our first draft”.

It’s just like reading code. Why would you want any distractions?

wtfdeveloper 40 minutes ago

conartist6 an hour ago

the feedback is actionable. Fix the styling. It looks awful, like it was made by a middle school student or something

cmoski an hour ago

Date range picker doesn't work...

wtfdeveloper an hour ago

You would be suprised to hear this, but we are actually thrilled to hear this! We are on our first weeks (v1.02), so if you have found a bug we would love to get our hands on it!

Would you consider raising an issue here? https://github.com/golemui/golemui/issues

You could be the first person to open an issue on this repo (other that the three of us)

It goes without saying that this does work in our machines.

pylotlight an hour ago

worked for me.

typeofhuman an hour ago

Is there no file input type?

wtfdeveloper an hour ago

Good feedback! Is actually on the roadmap :)

pooplord7 an hour ago

I hate it.