Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Builder (or how to make a living from this project) #191

Closed
diegohaz opened this issue Aug 14, 2018 · 5 comments
Closed

RFC: Builder (or how to make a living from this project) #191

diegohaz opened this issue Aug 14, 2018 · 5 comments

Comments

@diegohaz
Copy link
Member

Hey! I'd like to share with you guys my thoughts on how I plan to make a living from this project. And, depending on how well things go, invite more people to join in.

Until a few months ago I was working for a company based in San Francisco, CA. So I left my job there to dedicate myself full time to ReaKit. I had seen an opportunity that had not yet been explored (and not yet priced).

Boilerplates

Some of my first open source projects were boilerplates and project generators. ARc is the most successful one, followed by rest and nod. I was so fond of creating boilerplates that I created a boilerplate to create other boilerplates. 😅

One thing I noticed is that, even though I stay a long time without updating the projects, they continue to receive many unique visitors daily. In fact, no project of mine receives as many visitors as ARc and Rest, not even the ones that have more stars. Even though the word boilerplate has been depreciated over time, people still have a demand for it.

The main advantage of boilerplates is that they usually come with handy pre-configured features like social login, analytics, i18n and more.

On the other hand, some of the major complaints regarding boilerplates are:

  1. it's very difficult to keep your project in sync with boilerplate updates;
  2. either you end up with a lot more code and complexities than you really need;
  3. or you'll have a lot of work to remove unnecessary stuff.

The first problem was solved by the modern frameworks and generators, such as Next.js, Gatsby and Create React App. But they don't offer all the features boilerplates may have.

For the second one, on ARc, instead of pushing everything to the user at once, I've created an example source folder with all the custom features, and split the repository into some feature branches. So they could "opt-in" for those features. That worked very well for not pushing unnecessary code to the user, but it has also come with a cost: it's very hard to maintain.

For the third problem, react-boilerplate, for example, provided docs on how to remove some features. That's definitely better than letting the user figure it out by himself, but that's worse than letting him choose if he wants the feature at first place.

ReaKit

ReaKit wasn't that ambitious at first. In fact, this is the result of an old desire to publish the components I wrote for ARc.

This has grown and, at some point, I realized that it needed some examples so people could have a better understanding on how to use it in real world projects. But, by my past experiences, I knew that those examples would eventually be used as boilerplates/starter projects with all their inherent flaws and qualities.

Why not, then, giving the user the pieces and letting him generate his own starter project that also works as an example of the library?

Builder

How long does it take you to set up a project with everything you know you'll need up front? A few hours? Days?


Next.js Gatsby Create React App TypeScript GraphQL
CRUD Monorepo Password login Social login Forgot password
Blog Internationalization Search Notifications Chat
Messages Forms Newsletter registration Product catalog Administration
Charts Wordpress integration Payments Markdown pages 404 page

The goal is to let the user choose between multiple technologies and features - some free, some premium -, see and use it in real time. And, finally, download it as a starter/skeleton project built with ReaKit.


img_2524


I really want to ship this by the end of the year. I would really appreciate your feedbacks. :)

@tcodes0
Copy link
Member

tcodes0 commented Aug 14, 2018

I'd focus on figuring out who the public is, and market the hell out of it. "Boilerplate tools"

@dicarlo2
Copy link

Stumbled on https://fusionjs.com/ while searching for something totally unrelated - from a brief glance it sounds similar to what you're describing here so I thought I'd mention it.

@diegohaz
Copy link
Member Author

@dicarlo2 That's interesting. Thank you for bringing it. :)

It somehow reminds me of Meteor. I'll take a closer look later.

@ubbe-xyz
Copy link
Contributor

@diegohaz interesting, would that "bolierplate tool" be more interesting not being tied to Reakit but rather having it as a feature?

Thinking from the point of view that, if you want to make a leaving out of it you'll need to broeaden its user base and tying it to Reakit ties it to its userbase ( .i.e I'm interested on this tool but to generate a bolierplate without Reakit as I'm not on the styled components 🚚 )

@diegohaz
Copy link
Member Author

@lluia We'll need to create some UI for some features, so initially it'll be developed only with Reakit, but nothing stops us to build other versions, since it'll be really modular.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants