I recently built and launched Forms.md, which is an open source JS library that lets you create multi-step forms and surveys. The forms themselves are very similar to what you would find on Typeform. The library works anywhere you can run JS, so it works with all web tech stacks: Django, Rails, React, Angular, etc. The library itself is just the front-end form builder, there is no backend because I expect people to just submit their forms directly to their database as that should be fairly easy to set up. It's also licensed under Apache-2.0.
Website: https://forms.md
Repo: https://github.com/formsmd/formsmd
Some backstory, this was initially known as blocks.md, and I was charging for a one-time license under BUSL. But that version was quite difficult to use because it only worked with Markdown files.
This time, I'm charging around $25/month in order to remove the branding. Everything else is completely free. Now this is the part I struggle with: I feel like the quality of the software is quite high and so is the output. But can this be an actually viable business model? I have really thought about just making it entirely free (even the branding removal) and just seeing it grow, but I would love to make some money from this and potentially even do this full-time (God willing). I spent months building this, and I constantly keep on doubting myself on what to do. I even hesitated to launch for 2 weeks because I was really anxious.
Any honest feedback on this? Could I actually make this into a company or do I need to start adding more features like backend, integrations, etc.? I'm kinda burned out at the moment, just left my day-job, so it's all a bit of a mess really. If anyone has any advice, I'm all ears. My email is also on my profile.
Some other questions:
- Should I go back to charging a one-time fee?
- How do I even reach out to potential customers/users?
Firstly, building a business (especially in a crowded space) is stressful. It's not a place to recover from burnout. It's not a place that reduces anxiety. So my first recommendation is to relax a bit, put this on the back burner, and when you're ready go look for your next job.
Secondly, treat this project as an education. You had an idea and spent months implementing it. That's the easy part. The hard part is finding a market willing to pay money for something.
So for your next project do the hard part first. First find a market, find out what they will spend, ideally collect a small deposit (to prove they're serious) and then go from there.
In my business we have 3 main product lines. The first 2 happened because the market paid us to build a solution. We iterated on those for 30 years, and we now are big players (in very niche spaces.)
The 3rd happened as a take-over of a project by another retiring developer. He had a few customers, and a good product, but in a crowded space where there's lots of reasons not to change. It's taken many years to build it out, despite being clearly better than the competition, and it's still barely profitable (if you ignore a bunch of expenses paid by the whole business. )
The lesson being to follow the money, not the idea. (Aside, early on we followed some ideas, all those projects died, most without generating any revenue.)
So congratulations to seeing something through to release. But turning a product into a business is really hard. Turning a commodity like this into a business is almost impossible.
I wish you well in your future endeavors.
Thanks for the comment and support though, again I 100% think this is solid advice, but I also believe it certainly does not apply to everyone/all products out there.
I have gotten some crazy ideas which I have implemented / are in the back burner (currently a student , but oh man)
This advice is generally right though. I also wish that there is an ideal way of doing things , like how linux manages the kernel he likes and he can live decently or some other project.
You might look at source-based like posthog , some api project used to be like this.
Its really hard earning money in open source. But if you do , that is all so great. Also starred your repo.
That's not building a business, that's hoping you accidentally stumble into one.
Separately, developer tools are extremely hard to build a business around. You can know that by looking at how few success examples there are.
So, where to start:
1 - decide if you want to build a business (available evidence: you don't. you want to play with tech.)
2 - figure out how business work. For starters: you can't afford to reach out for a $25/mo product. Someone buying for a year only returns $300. You cannot make those economics work. But this is all easily learnable, certainly for anyone smart enough to be a competent engineer. But you have to want to.
2a - for typeform, lots of engineers can build that. We pay to not build, and especially not to operate, that.
3 - very candid interviews w/ one of the founders of tally.so are available discussing how the business works.
Or spend one week building and one week in market learning and getting feedback on it.
This has worked well for me.
> Secondly, treat this project as an education. You had an idea and spent months implementing it. That's the easy part. The hard part is finding a market willing to pay money for something. So for your next project do the hard part first. First find a market, find out what they will spend, ideally collect a small deposit (to prove they're serious) and then go from there.
Absolutely. As engineers, we want to focus on the things we find fun, which is building software. But decisions like "should I use Rust or Python? GCP or AWS or bare metal? procedural, OOP, or reactive functional actor model?" are so incredibly irrelevant for running a business. It's all sales, sales, sales, and marketing (which feeds into sales).
If I were starting a business from scratch again today, the things I'd start with are: 1) who is buying this product -- if it's B2B be extremely specific with names and titles at specific companies; 2) why they would care about your product -- what pain point is it solving for them? what are the competitors/alternatives and what advantages do you offer? 3) how are they going to find out about your product; 4) how much are they willing to pay. I'd make sure to answer all these before writing the first line of code.
If I had to try and distil it down, we dabbled a bit here an there, but what ultimately made the difference was "marketing". In the sense that we travelled quite a lot in the beginning, went looking for distributors (in international markets), tried to connect with potential customers wherever they hung out, and so on.
For example we make plug-ins to a very niche tool - but the users of that tool would have (in person) user groups - typically 10 to 15 people or so. I travelled the world going to those group meetings, organising meetups in places that didn't have them, showing an interest, and of course selling plugins. Today our user base is "established" and I hardly ever travel anymore.
For a major commercial product I visited similar markets to ours, knocked on the doors of distributors, tried to find people who wanted to integrate our product into their market. I failed a lot but succeeded twice, and those 2 have been paying us lots of money every year for 20 years as they make sales.
Your approach may vary. Start locally. Talk to shop keepers, restaurants, businesses, charities, schools and so on. Look for markets that are not serviced (which is different to where the person is just too cheap, or adverse to tech for other reasons.)
Of course it's a LOT harder now to find unserviced markets. There's a lot more software out there now than there was when I started out. Ultimately though it's about connecting with people - real people not just sending out spam emails. And so meeting the right person at the right time is "lucky". But if you're not out there luck can't work with you. You need to give luck a chance.
There are a lot of variables, and luck does play a big role. But with that said, there is something very akin to a "formula" at the high level. That being Steve Blank's "Customer Development" methodology, as laid out in The Four Steps to the Epiphany.[1]
[1]: https://www.amazon.com/Four-Steps-Epiphany-Steve-Blank/dp/09...
Yeah , you're most likely right. But as the next HN commentor (darkhorse13) just below it said , Its just too tempting to not do it.
Frankly, making it a business would rob the fun from it. I like the randomness of it - making something and not knowing how it'll turn out.
In the same way coding can be fun. Work at your own pace on whatever you fancy. Finish it, or don't, no-one cares. When upu get bored with it, then stop.
This is a hobby, and hobbies are good. But hobbies are not a business. I have a day job to earn an income to give me time (and money) to indulge my hobby.
It's possible to turn your hobby into a business, but then it turns into work, not fun (it can be satisfying, and pleasurable but it comes with strict demands.)
So cool, dive into any projects you like, just don't be thinking that those projects will become businesses. (Its possible, but the risk is really low.) If you want to create a business then you need to focus on the business principles first.
https://posthog.com/blog/open-source-business-models
I like open source, and open source projects, but that shouldn't be the only way to do things. Sometimes building a project is a lot of hard work, and if someone finds value in your project, supporting it is the normal thing to do.
Also, doing proper open-source is not easy. You can of course publish your code online, but making the project easy to install, run, maintain, understand, well documented and with good support for running on many types of servers/devices is not easy. There are so many open-source projects that start well, then they end up having tens of thousands of opened issues that will never be fixed. This also leads to the project ending up being a jack of all trades and master of none, because you try to satisfy everyone and all use-cases.
Given the plethora of existing form solutions out there, is there niche where you meet that criteria?
You need to provide better value than removing branding is what I'm saying. There are lots of business models, but removing branding is not a good one.
I‘ve felt the same as you many times over, and I have had bad experiences along the way. In the end it still feels that it was worth it. I get to own and work on things I enjoy.
For me, taking on VC capital was the stepping stone for today‘s success, but that was necessary due to the complexity of IAM and the system criticality it has (single point of failure). It’s essentially impossible to do something like Ory without outside money.
Generally speaking I felt that libraries are harder to monetize than APIs, but looking at your website you already have a service! Monetize the service, keep the OSS free (but maybe don’t make everything OSS).
One thing we open source people are bad at is valuing our own work (because we publish it for free). But experience has shown me that people are willing to pay if the service is valuable enough even if you can get it for free otherwise. So many companies spend 100k, 200k, 2M ln bad software. Why should they not spend 100k with your good product?
If you don’t want to have a boss and don’t want to live on someone else’s terms (yes VCs, customers and others tell you what you SHOULD do, but you can still do it differently and they will applaud you when it works), keep doing what you‘re doing and don‘t be afraid to ask MORE money for it, not less.
To get to 250k to support yourself, you will have to sell a lot of subscriptions. So maybe the value lies elsewhere? Integrations, customization? Number of form fills? Bot protection? Your customers/adopters typically tell you what‘s valuable - but don’t do it all for free!
Looking at your repo it has some traction, but you probably need to build it up a bit more with marketing (wether that‘s cool new tech, or just posting it in the right places is up to you). If you have a couple of companies that are interested in using it and need support, sell them support for 10k, 20k, 30k a year and learn what they need, build it, and sell it to them again. Why build stuff for free if the customer is making money with it?
I believe you can do this!
If you are bootstrapped, don‘t try to mimic typeform subscriptions will only work with sufficient capital and a lot of upselling. Self-service subscription selling is hell and requires huge infra and marketing budgets. Try to find a couple of customers that pay you well and expand from there.
As a solo developer walking a well-worn path you're in a fortunate position. You can poach customers from competitors and differentiate based on customer's having direct engagement with you, the founder, and price, because you don't have expensive developers to pay.
Identify a single use-case that your software is good for today, and then spend some time identifying prospective customers based on companies using your competitors for that use-case, then reach out and undercut your competitors based on your values. A competitor's case study / customer stories page is the classic poachers first port of call.
Persistence will pay off. Most of your outreach will fail, most of your ideas will fall flat, most of what you think matters won't matter and most of what you think doesn't matter will matter. That's okay.
Anything can be made into a company. Can you make this into a company? Nobody really knows until you've tried, but the idea has potential and you have the necessary skills to pull it off so there's no reason it shouldn't be possible.
The biggest difference between developers who write software and founders of software companies is a focus on customers. If you're struggling to see a clear path forward, it's a sign that you are probably spending too much time writing code and not enough time thinking about / talking to customers. You'll know you're doing enough business things when you start to feel like you're letting the software slip.
[1] I think it's great but that would undercut my point that it doesn't matter
> You'll know you're doing enough business things when you start to feel like you're letting the software slip
I needed to hear that.
Also, I’d rethink the UX for the AI era. Instead of a traditional form builder, what if users just *described* the form they need, and AI generated it instantly? Then they could refine it with natural language—“Add an email field” or “Make question 3 optional”. That way, they go from zero to a polished form in seconds.
You already have the structured data and the code logic—you'd just have to build the AI integration. Luckily, most of the models can speak JSON now with structured outputs, so it's entirely possible.
There’s no reason you can’t try this out as a slow burn side project that may one day - many years from now - turn into a reliable income that frees you from the usual rat race plantation job, but this is not something you should do while unemployed and burned out. You brushed it off but the other sibling comment that said that is 100% correct. STOP. You will not go viral and get a thousand monthly subscribers overnight. You can still work on this project as therapy for your burnout, but you must go into it with zero delusions of short term financial viability.
“I just run head-first into development” does not make money. Sales and marketing make money. If you don’t even have an idea of what that would really look like, this will only end in tears.
On the other hand, how many sales have you and will you make from this post? That may change the calculus w.r.t. virality if you can figure out how to do some more quality advertising. But if it’s going to work you need a mind shift from developer to entrepreneur.
That was my first thought. He's selling a piece of software to me, and I can patch the library in a few minutes to remove the branding and avoid paying $25/month.
If you're selling to non-developers? They don't know what npm is. They don't know how the Web works. They will need you to provide them with a one-click solution. Typeform (the product you stated you're competing with) has a visual editor and provides hosting. It's a one-stop shop.
On the other hand, if you're selling to developers - nobody's gonna want to pay for just a form library. A frontend developer can build a form in 10 minutes. Open-source has taken over so much that, nowadays the only money in selling software to developers is in editing tools (like IDE's, AI tools, etc.) or cloud-based solutions. If you're just selling the software itself with no cloud hosting, it's gotta be something really useful and really complex, like a database or an operating system.
I think things like form builders do get somewhat close to the "solutions architect" market. That is, you may be able to sell a version of your software to people who build websites for other people. Take a look at sites like themeforest.net. Creating themes and plugins for content management systems (like wordpress, squarespace, weebly etc.) and selling them to freelancers can earn decent money.
Look for Redis, MongoDB and millions of other companies
Advice: It's important to make people believe your product is a necessity or an upgrade over others until you can expect them to pay for it. Hence, you need your products and support to be the top priority for the next generation.
PS: I'm also interested in reaching out to you for partnership if you're okay with it?
Another signal would be that you are able to successfully add a co-founder.
If it takes more than 6mo of post-launch to those milestones, I'd give up on the idea. Market's probably saturated or you're not solving a pain point.
Things only get more stressful. I'd work on backup plans or some job searching during those six months. Its nice to do the job search when the side project gets too much and vice versa. Also, it can be a nice side project if you re-enter the workforce.
Source: bootstrapped a SaaS company to several million in revenue.
Nice to see something else that's not Tailwind
I really think that the integration is going to be the product here, rather than licensing the library itself.
Say I'm in marketing and want to do a user survey. I want a way to get the users to the form (a link in the product? an email? a popover? A QR code for in-person businesses? Maybe something you can think about), I want a form that looks good (which yours does), I want to brand it, and I want the data somehow (maybe immediately, maybe after some time, maybe with a dashboard who knows). What I don't want to do is mess about with gsheet permissions and app scripts.
I'd be happy to support $10 for a story of failure. It would be tremendously helpful as a counterweight to all the free success stories out there.
This allows you to get money for customizing the software for specific applications, but still build up a valuable asset over time (instead of just being a T&M slave).
Which makes sense, the reason I'm doing them in the first place is for learning, sharing and fun.
I believe the only way forward is to keep focusing on those aspects and let the rest happen by itself.
https://github.com/codr7/tyred-java
I would have a private version of the software with additional features. I would keep a simple free open source version to help upsell the "pro" version.
The pro version can come with maintenance, new features, etc.
The question on my mind is.. how big is this market? I have no idea.
[0] https://old.reddit.com/r/SaaS/comments/1gpn8gt/how_we_bootst...
My only suggestion is that you focus on this above everything else. Once you have an answer, then go back and consider the other questions.
https://news.ycombinator.com/item?id=42999454
and, suggestion for the no-api-required part: maybe something like hasura.io , that makes an api out of data-model/form. Though such survey-like data may go into kind of data-lake..? may be look at interfacing those as well..
I found Perplexity does a good job of framing the options around queries like yours:
https://www.perplexity.ai/search/provide-a-useful-and-compre...
I will tell you, if your solution solves a problem that is only painful enough that people might pay $25 a month, you are likely going to have a really hard time with this business. Sales is disproportionately harder the smaller the dollar amount. Also, if you are not willing to give up the first 4 productive hours of your day to sales and marketing you will probably fail.
Ultimately I think the open source doesn’t matter much. You have a solution to a problem. You need to market that solution to people who have the problem, and take their money while they are still in pain. Whether they could have found the solution to their problem through the open source channel is largely irrelevant if you have good enough sales channels to find people who don’t know to look for your free solution. Looking at your site now, I’d be very inclined to remove the free option. The era of freemium is sort of over. You want to be able to give something free to your unqualified leads, but it looks like you want to give away too much with it. You can maintain the npm channel, but it should not be part of your marketing for the paid product. It can still maybe be part of the onboarding process, I haven’t looked at your solution enough to understand what onboarding should look like.
Also, I suspect $25/mo is too little. Pricing is a form of marketing, and too low a price attracts the wrong kind of customers. There have been numerous threads here on HN talking about the quality of customers when adding a zero to their price.
Another thing I noticed on the forms.md page, is it wasn’t clear to me what pain I needed to have that your solution provides. All I know from your page is that if I want to build forms you can help with that, but you haven’t reminded me of what is painful about building forms, or even that it might be difficult. Let alone how your solution will make those pains go away.
There is also no price anchor. You absolutely need 3 pricing tiers on a landing page. One should be high enough you’re embarrased about it. $20 should absolutely be the lowest tier with the expectation that no one should want it. The middle price is what you want to sell for, and it has a slight goldie locks problem, but you can dial that in once you have enough sales.
Good luck.
If you are funded it’s a way to build trust.
If you’re looking for ideas don’t build a generic form tool. Ding places where forms are so horrible according to the words of strangers who have to fill them out or better yet deal with submitted forms - ask to learn more to see if you could help.
The amount of time and salary you save is what it’s worth.
Two books I highly recommend checking out is software as a science (it’s recent and relevant) as well as the saas playbook (yellow cover). These will shed some light on how the 97% of entrepreneurs who do not or can not raise still find a path to success.