ソフトウェア製品ビジネスの構築に向けた旅の共有


裏話

私は過去にソフトウェアビジネスの公平なシェアを築きました。私がクールなアイデアだと思ったブートストラップ製品、または自分のかゆみを掻いたもの、あるいは私が使用していたが100%好きではなかったものの自分のバージョン。

タスクマネージャー、eラーニングウェブサイト、さまざまなプラットフォーム/ CMS用に再利用されたeコマースソフトウェア、macOS用のデスクトップアプリ、モバイルアプリ、モバイルゲーム、マップなどの機能を追加してユーザーサポートを提供するためにサイトにインストールできるソフトウェアを構築したことを覚えています。もっと。

そして、私はデモを意味するのではなく、私が実際の人々に販売していた実際のソフトウェアを意味します。

それらのいくつかは他よりうまくいきました。家賃を払った人もいれば、一定期間は私のフルタイムの収入だった人もいました。しかし、何らかの理由で、それらの誰も「ビジネス」になりませんでした。悪いタイミング、間違ったニッチ、または間違った市場の選択がこの理由のいくつかでした。

そして、ソフトウェアビジネスを構築することは本質的に困難であり、多くの競争があり、多くのサクセスストーリーを聞く一方で、失敗や何も起こらないすべてのプロジェクトから聞くことは困難です。

いつでもProductHuntにアクセスして、私が何を意味するのかを確認してください。光沢のある「トップ10」のようなもののほかに、誰も賛成しないプロジェクトの墓地があります。

2017年にブログを始める前は、とてもかっこいいと思ったGitHubアプリに取り組んでいました。まだそうだったと思います。リポジトリのある種の統計の視覚化。私はこれにしばらく取り組んだ後、人々に試してもらうことにしました。何通かメールを送りましたが、あまり熱心になりませんでした。かっこよかったですが、何の問題も解決していませんでした。私にはそれを宣伝できるチャンネルや方法がなく、おそらく人々はそれを必要としませんでした。私は人々に無料で試してみるように説得することができませんでした、それを支払うことを想像しますか?さらに、統計のデータを取得するのと同じくらい壊れやすいことをするために別の会社のAPIに取り組んでいると、私は不快になり、すぐに別のことに移りました。

言い換えると私は大きな間違いを犯しました

技術的にも、次回は繰り返さないことについても、たくさんのことを学びました。

本当に成功せずにこれらすべてのプロジェクトを構築することは私を燃やし、「私はこれ以上製品を作りたくない」と言いました。そこで私は、ブートストラップされたソフトウェア会社のソロプレナーになりたいという新しい章を始めました。

早送り:問題を特定しました

3年が経ちましたが、製品のアイデアに少しでも興味を持つことはありませんでした。私は単にそのようなことをすることをもう考えていませんでした、そして私は仲間の開発者が彼ら自身のソフトウェアを作るのを助けることができる材料を作る代わりに集中しました。

あるコースのプロジェクトを作成していて、以前とまったく同じことを10回目または20回目に行っていることに気付くまで。

認証。ログイン。サインアップ。パスワードをお忘れですか?確認メール。安全なパスワード。 OAuth。 Googleでログインします。すべてをテストします。

私はいくつかの調査を行いましたが、ハッカーニュースのように、この特定の主題について専門家間の議論が行われる場所を見ると、読んで消化するのに丸1日かかるスレッドがあります。

これは、一連のベストプラクティスがありますが、どこにも文書化されていない分野です。独自のワークフローを実装することが期待されており、専門家であることがわかっている人と話し合ったり、質問したり、取得したりして、各アプローチの長所と短所を理解するために調整できる場所はありません。あなたが尋ねて誰かが返事をすることを望むそれらの一般的な場所を除いて。

そして、ほとんどの場合、特定の種類のアプリケーションスタックまたはテクノロジについて話し合う場所で質問する必要があります。

しかし、これはテクノロジーにとらわれません。認証ワークフローがReactまたはVueに基づいて構築されている場合、またはサーバー側のノードまたはElixirアプリケーションである場合は、何も変更されません。

それは常に同じですが、あなたがそれを再発明する必要があるたびに。

それが解決する価値のある問題であるかどうかを理解する

だから私の最初のアイデアはこれを修正することでした。

これは大きな仕事であり、すべてはコンセプトから始まります。これが私が名前とロゴをブレインストーミングした理由です。https://prototyped.dev/ウェブサイトで、私はビデオを作り、私の考えを言葉にし始めました。

そして、メールサインアップフォームを作成しました。

先に進む前に、私は人々に彼らの電子メールを私に与えるように説得しなければならないと思います。私がこれさえできないのなら、その考えはまったく悪いです。ブログにリンクを張って、トラフィックを増やしています。

これは2週間前のことです。 1935人がウェブサイトにアクセスし、130人が順番待ちリストに登録しました。

これは良い第一歩です。

誰かが興味を持っています。説得力のあるビデオを作ったのかもしれません。あるいは、彼らは私が何をするかを見たいだけかもしれません。

だから昨日私はそれらの人々にこのメールを送りました:

Hi, I want to take a moment to thank you for signing up to the Prototyped login/signup/authentication "idea" waiting list!
In addition to you, I got other 123 people signup ~in 2 weeks~ and it seems the thing has legs.. but I want to dive a little more into it.
(I'm sharing this information because I plan to also publicly document my journey to bring this thing to life. From zero to being a real product in the wild. I enjoy reading or listening to such stories in podcasts and I think it might be cool. The behind the scenes of a software business bootstrapped startup. Interesting?)
I built many apps and software projects in the past. Most of the times I started with an idea and kept coding until the launch. Sometimes in the end it was a failure because I didn't work on the right idea. Or I didn't solve the right problem.
This time, however, I want to make sure I solve a problem you are experiencing.
What is the thing that resonated with you the most with the Prototyped concept I presented you?
In other words, what's the value you see in it?
I got this idea while working on an app and getting authentication right and "done" once and for all was really key. I wasn't central to the "core business" I wanted to focus on, it was just a distraction, a chore I had to do. And I couldn't find anything that could help me in the way I wanted.
I want to make sure you or your team got this frustration too, please let me know if not and if I'm working on something that you think is useless. Your opinion and contribution will be key to move this thing forward.
Just hit reply and let me know what you think!

What people said

I got 12 responses.

Here are some of the (anonymized) replies I got:

I’m a DIY guy, thus if there is some paid service, I always try to figure out a way to do the same thing for free.. but I think you had a great idea with your product because one thing I don’t want to deal with is storing personal data, security problems, legal problems.

The idea of what I want to build is compelling enough, solves a problem so painful that it’s worth paying for. Good news.

I watched your promo video with explanation why you started Prototyped and realized that every new project takes month(s) of development for this particular section (login/signUp/restorePassword). I decided that it might save us a lot of time to use your service / library => that is why I subscribed

Good feedback. The product would save them a lot of time, and time is money.

I’m learning to code (mostly Python and JS) and have an app I’m building and I’m coming up to the registration / login / session stage and I’m finding it pretty daunting. I feel like this is a process that nearly every single app on the planet has, coding it all from scratch feels a little needless (though a point could be made a beginner should do it at least once). So anything that could make this process easier to implement and understand would be extremely welcome!

The auth process is “daunting”. This term makes me think about pain. coding it all from scratch feels a little needless: it’s like reinventing the wheel every time.

I think you’re going on the right direction. It sounds interesting to have access to an authentication tool and that we as developers do not have to worry about, since the tool will take care of that.

I want to make your life easier.

I am a newcomer to authentication but from my research it takes a bit of set up to get things moving. It would be great to have something with less set up almost like a module you can add to your project

Drag and drop.

We basically have the same frustration. […] I’d probably mess with some CSS related to the auth pages, but that’d be prebuilt so that I could focus on the actual app.

Flexibility, yet convenience.

In the past few weeks, I’ve spun up like 3 - 4 web apps using Next.js, and dealing with auth is a pain.

Pain. This word is recurring.

[…] After all this, I realized that I had spent days setting up authentication but had not implemented any valuable feature. In fact, I lost interest in my initial idea. 

Oh man this is terrible!

[…] I think the idea behind Prototyped is solid

I like solid.

Sometimes I use Firebase, but is like having a huge gorilla to take care of who use the website

Open source is the ultimate freedom. Own your code. customize anything, easily change to something else.

I don’t want an authentication that works as long as I use Node. I want one that I can take with me and works or makes itself work on many platforms. This way, I have a consistent behavior I can expect rather than having to remember things like “on app xxxx, the login does _____ and on app yyyy it does _____“.

This is spot on. The thing I want to build will work regardless of the technology, because it’s a blueprint with an implementation.

It’s like an application architecture. React developers will remember about “flux”. You can change platform, but this can stay with you.

I also often have the same problem of authentication. For one of my current projects I am looking into Firebase, because that makes it really easy. But I am not happy to be bound to Google.

Repeating pattern of lack of flexibility and uncomfortable feeling of being tied to a corporation.

Our biggest concern is security for users and knowing that the system is doing things according to the best security practices that are known.

This topic is really delicate and security is a key aspect, a fundamental one.

Flexibility is another key. Not all signup/login/auth flows are quite the same, so having the ability to control this is important.

Flexibility, freedom, is one of my core principles and it must be reflected.

Having a solution to turn to that can confidently help solve them is absolutely a need.

Being a trusted and rock solid solution one can turn to when in need.

What did I learn from those replies?

I got very positive feedback. There is a need for a solution to this problem.

Now I will keep waiting for new replies, and also I send the same email to every new signup to the waiting list, so I’m curious to hear more.

Meanwhile I’m organizing an online bootcamp, but I want to get the ball rolling.

That’s it for this post. I will write an update soon.


More lab tutorials: