分享建立软件产品业务的旅程


背景故事

我过去积累了相当多的软件业务份额。我认为是很棒的主意的自举产品,或者刮擦自己痒痒的东西,或者也许是我自己使用的但不是100%喜欢的版本。

我记得建立了一个任务管理器,一个在线学习网站,一个针对不同平台/ CMS重新设计的电子商务软件,用于macOS的桌面应用,移动应用,移动游戏,可以安装在网站上以添加地图等更多功能并为用户提供支持的软件,和更多。

我不是指演示,而是指我卖给实际人员的实际软件。

其中一些比其他的要好。有的付了房租钱,有的一段时间是我的全职收入。但是由于一个或另一个原因,没有一个成为“生意”。不良的时机,错误的细分市场或选择错误的市场是造成这种情况的一些原因。

建立软件业务本质上是困难的,存在很多竞争,虽然您听到许多成功的故事,但是却很难从失败和所有失败的项目中听到。

每天都去Product Hunt看看我的意思。除了闪亮的“前十名”之类的东西,还有一个墓地,没人有人支持。

在2017年开始写博客之前,我正在开发一个我认为非常酷的GitHub应用。我仍然认为是。存储库的某种统计信息可视化。我为此工作了一段时间,然后决定邀请人们尝试一下。我发送了一些电子邮件,但没有得到很多热情。这很酷,但是并没有解决任何问题。我没有推广它的渠道或方式,也许人们甚至不需要它。我无法说服人们免费尝试,想像要付钱吗?再加上使用另一个公司的API来做一些像获取统计数据一样脆弱的事情,这让我感到不舒服,很快我又转向了其他事情。

换一种说法我犯了一个大错误

我在技术上和其他事情上都学到了很多,下次不再赘述。

建立所有这些项目并没有取得真正的成功,这让我非常恼火,我说:“我不再想要创建产品了”。因此,我开始了一个新的篇章,从想成为一家自举自足的软件公司,到其他人。

快进:我发现了一个问题

3年过去了,我从未对任何产品创意产生任何兴趣。我只是不再考虑做这种事情,而是专注于而不是创建可以帮助其他开发人员构建自己的软件的材料。

在我为其中一门课程创建项目之前,我意识到我已经做了10或20次与以前完全相同的事情。

验证。登录。注册。忘记密码?邮件确认。安全密码。 OAuth。用Google登录。测试一切。

我进行了一些研究,如果您查看专家之间进行讨论的地方(例如Hacker News),就这个特定主题,则有很多线程需要一整天才能阅读和消化。

这是一整套最佳实践的领域,但未在任何地方进行记录。您应该实现自己的工作流程,没有什么地方可以讨论,询问或让您认识的人成为专家,并能弄清楚每种方法的利弊。除了那些您希望并希望有人会回答的一般地方。

而且大多数时候,您必须在讨论特定类型的应用程序堆栈或技术的位置提问。

但是这件事与技术无关。如果您的身份验证工作流是基于React或Vue构建的,或者它是服务器端Node或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: