top | item 41407993

Show HN: Typeform alternative, turns Markdown to forms

193 points| darkhorse13 | 1 year ago |blocks.md | reply

77 comments

order
[+] aimazon|1 year ago|reply
Very good work, especially for a solo developer. Feedback:

1. Design language of the forms feels too much like Typeform, you're a talented designer: differentiate the design to establish your own identity. If the forms look like Typeform, form-fillers are not going to investigate what form software it is and use it -- which was a big part of why Typeform grew.

2. The name is terrible. Blocks? The name sounds like you decided on it for a different project (some sort of component framework using Markdown?) and then reused it for this. The domain forms.md is available to register. Anything that include "form" in the name would be a significant improvement.

[+] nine_k|1 year ago|reply
> differentiate the design to establish your own identity.

But maybe the Typeform design i not very original, too. Maybe it makes sense to use some design that is rather neutral, easy on the eye, automatically recognizable without an effort to parse.

I see a commendable humility in picking a clean, usable, not catchy rendering. What's original here is the form language, which is actually the centerpiece. And frankly, I wish the code examples were more colorful, bringing attention to the keywords and separating them from the static text runs. It would help understand the language structure easier.

[+] darkhorse13|1 year ago|reply
Thank you!

1. Yeah I would say this was intentional. Typeforms are almost instantly recognizable, which is a good thing for a new product I think. I actually want to offer more than one form style though. If you look at the CSS file, everything is a variable so that I can add more styles/themes.

2. Haha you're right actually, the idea was slightly different and the name sort of stuck (it was originally blocksdb, which is worse). I don't mind blocks.md though, but marketing is definitely not my best skill.

[+] oefrha|1 year ago|reply
I don’t understand the license here https://github.com/blocksmd/blocksmd?tab=License-1-ov-file#r...

It says Business Source License 1.1 which basically means I’m free to use as long as I don’t use it to build a competitive offering. Fair enough.

But it changes to AGPL-3.0 on 2028-07-01, what? Basically now I need to open source my entire stack that has any connection to the form? Why would you change it to a more restrictive license (for anyone not looking to build a competitive offering) after a few years?

---

Unrelated, I find the DSL increasingly unwieldy as you get to more advanced features (especially styling). Might want to consider offering a JSX/TSX alternative for more advanced use cases.

[+] darkhorse13|1 year ago|reply
So I did not want to open-source yet, which is why I picked BUSL-1.1, and from what I can tell, the other BUSL-1.1 I've looked at had this clause to open-source at a later date (AGPL3 is an open-source license after all).

I'm still trying to figure out the licensing around this whole thing, so this is temporary I believe.

[+] uneekname|1 year ago|reply
IANAL but from what I understand, folks will be able to use the current version of the software as it is currently licensed, forever. The author is making clear their intent to change the license on a certain date, at which point new versions of the software will only be available under AGPL.

I agree it's odd that folks who use this software something that isn't a "competitive offering" may have to open-source their software stack if they upgrade to a new version in 2028. But, they will always have the option to use an older version of the software that is still covered by the BSL.

[+] mmastrac|1 year ago|reply
This style of form is aggravating to fill out, but kudos on making it beautiful.

If you want to be kind to your users, allow them to scroll through the entire form, see it on one screen and ideally skip ahead without filling out required options but block submission.

[+] diggan|1 year ago|reply
> This style of form is aggravating to fill out,

In what sense?

I suppose for me it kind of matters how many questions are being asked. I'm fine with this UX if it's a specific question or two, but for a whole questionnaire with 14 questions or more, then I'd also prefer to be able to get an overview first.

[+] Terretta|1 year ago|reply
It's been studied that fewer people start the big form than a multi-stage form of uncertain size but more people finish it.
[+] darkhorse13|1 year ago|reply
You can actually have more than one form field within the same slide. I haven't made that very obvious, but one of the advantages here compared to Typeform is the flexibility.
[+] nine_k|1 year ago|reply
This style of forms only makes sense when the next pages depend on previous pages, that is, when it's a tree of possible steps, not a linear path.

Not the case here though.

[+] mg|1 year ago|reply
It looks like it could be made leaner.

This:

    name* = TextInput(
        | question = What is your name?
        | description = 
          Let's get started with the survey. First, please tell
          us your full legal name according to your passport.
    )
Could be just this:

    name* = TextInput
        # What is your name?
        Let's get started with the survey. First, please tell
        us your full legal name according to your passport.
[+] steve_adams_86|1 year ago|reply
But then how would you support choices or conditions for example?
[+] rafram|1 year ago|reply
This is more like a DSL with Markdown embedded for the textual parts, but still cool.

An actual Markdown syntax extension for forms would be interesting. [_____] for text fields?

[+] verdverm|1 year ago|reply
MDX is great for this, you can intermix JS/TS, JSX, and Markdown

https://mdxjs.com/

You can write any components normally and pass them in to be available in MDX. You can make forms and much more

[+] darkhorse13|1 year ago|reply
I thought about the ____ syntax, but found it quite hard to fit in extra parameters in a nice way.
[+] lukasb|1 year ago|reply
Yeah I'm curious if the Markdown form syntax here is totally new or if other people have done something similar. I'm building an app that extends Markdown with Excel-like formulas (think function calls, not arithmetic) and have considered having formulas that instantiate form elements.
[+] bthallplz|1 year ago|reply
Yeah, is anyone familiar with other DSLs for form/survey building and logic?

For my work, where we produce lots of surveys and reuse parts of them/run near duplicates monthly, I've been curious to see if there's any dual code and GUI options out there to allow for survey programming to be version controlled and forked, etc.

[+] bberenberg|1 year ago|reply
I feel like this falls into an uncanny valley between requiring the skill to cognitively model forms in your mind as text, which is fairly close to coding and using a form builder UI.
[+] breck|1 year ago|reply
> uncanny valley

Yes, but he's very close to the obvious solution that will spark web 4.0.

Closest I've seen yet.

[+] bthallplz|1 year ago|reply
Yeah, it'd be great if over time they/a community provided a system for visualizing the form logic and a form builder GUI so you can go full-circle with this (building via code and GUI and saving/versioning/forking forms via source).
[+] nikolayasdf123|1 year ago|reply
nice product. but prohibitively expensive. 60$ and even more concerning "Varies" price for actual use is pretty much no-go for this product.

if you are small startup this is too expensive, if you are big company, you might as well built it yourself. got to be cheaper!

UPD: typeform charge more but they provide hosting and analytics, very convenient for people who don't want/cant to code anything. this library is "bring your own backend, analytics, etc.", need coding too, but prices are nearly same ballpark. too expensive.

[+] darkhorse13|1 year ago|reply
Hmm I'm still trying to figure out pricing. The "Varies" Enterprise option is just there so people who are interested and I can have a proper chat because the product is so new. Definitely not a typical sales call, although I haven't done a good job to explain that.
[+] darkhorse13|1 year ago|reply
Hey builder of this thing here. This blew up like crazy! Thanks for all of the feedback everyone. I'll try to reply to all of them, I think most of it is very valid. In case someone wants to reach out for questions, my email is tahmid(dot)hm(dot)dev(at)gmail.com.
[+] lottamus|1 year ago|reply
Looks interesting, but I’m having a hard time seeing why a team would adopt this over something like MDX. A comparison page between the two would be great!
[+] darkhorse13|1 year ago|reply
Great idea, I want to build comparison pages like that, challenging to do everything on my own, but trying to manage.
[+] vunderba|1 year ago|reply
I could definitely see this being useful if you could easily integrate it into a static site generator pipeline like Hugo or Jekyll.
[+] Stanlyya|1 year ago|reply
Great alternative. I'm the founder of Buildform.ai which is an AI first typeform alternative. With buildform, it's faster and easy to build high-conversion conversational forms and analyze and use the data you collected.
[+] breck|1 year ago|reply
Oh this is right up my alley. Love it! Some really good design decisions.

My user test: https://www.loom.com/share/9287cfe4e7024330bfe752ef8b9ad9bd

[+] darkhorse13|1 year ago|reply
Hey, really appreciate this user test. Like I mentioned in another comment, I would love to catch a chat with you if you're interested: tahmid(dot)hm(dot)dev(at)gmail.com. Thanks again for taking the time to make a video.
[+] devops000|1 year ago|reply
Cool! How could I install it in Jekyll ? It could be use for landing page form, newsletter form or custom form calculator where html is not allowed.
[+] j12a|1 year ago|reply
This syntax would be just nice to plug into WordPress Contact Form 7 plugin which is also a feasible FOSS alternative in itself.
[+] darkhorse13|1 year ago|reply
Definitely want to build a WordPress plugin ASAP.
[+] waishnav|1 year ago|reply
why would someone self host? There is always resistance in managing server on our own. So only people will buy such self hosted typeform alternatives are maybe the one who are using typeforms at scale, large businesses.

Nonetheless great design!

[+] dcreater|1 year ago|reply
Why is better than just a simple spreadsheet as input? Spreadsheets are still somehow very underrated
[+] darkhorse13|1 year ago|reply
I love spreadsheets, but wouldn't this expose all the other responses collected so far to the person filling out the form?
[+] anon1094|1 year ago|reply
It looks interesting. Do you not have a free plan or even a trial?
[+] cpb|1 year ago|reply
It's free for local use from npm.
[+] compootr|1 year ago|reply
Nice Design, however:

1. I don't understand why there's a pricing model for some CSS on forms. if I'm hosting the form & submission endpoint why do I need your backend (? not even sure what your role is here) 2. why not make it into a selfhosted typeform alternative; would be cooler than this saas bs

[+] darkhorse13|1 year ago|reply
Thank you, yes trying to figure out the best way to market this product. A self-hosted Typeform alternative is definitely an idea on that list.