I have accumulated a considerable share of the software business in the past. I think it’s a great idea to bootstrap a product, or to scratch something that I’m itching, or maybe it’s a version that I use myself but not 100% like.
I remember building a task manager, an online learning website, an e-commerce software redesigned for different platforms/CMS, desktop applications for macOS, mobile applications, mobile games, which can be installed on the website to add maps, etc. Multi-function and support software for users, and more.
I don't mean demos, but actual software that I sell to actual people.
Some of them are better than others. Some paid the rent, and some were my full-time income for a period of time. But for one reason or another, none of them became "business". Poor timing, the wrong market segment or the wrong market selection are some of the reasons for this situation.
Building a software business is inherently difficult. There is a lot of competition. Although you hear many success stories, it is difficult to hear from failures and all failed projects.
I go to Product Hunt every day to see what I mean. In addition to the shiny "top ten" stuff, there is also a cemetery that no one supports.
Before I started blogging in 2017, I was developing a GitHub application that I thought was very cool. I still think it is. Some sort of statistical information visualization of the repository. I worked on this for a while, and then decided to invite people to try it. I sent some emails, but didn't get much enthusiasm. This is cool, but it didn't solve any problems. I don’t have a channel or way to promote it, maybe people don’t even need it. I can’t persuade people to try it for free. Do you want to pay? Coupled with using another company's API to do something as fragile as getting statistics, it made me feel uncomfortable, and soon I turned to other things.
Put another wayI made a big mistake.
I have learned a lot about technology and other things, so I won't repeat it next time.
Building all these projects did not achieve real success, which made me very annoyed, and I said: "I don't want to create products anymore." Therefore, I started a new chapter, from wanting to be a self-sufficient software company to others.
Fast forward: I found a problem
Three years have passed, and I have never had any interest in any product ideas. I just stop thinking about doing this kind of thing, and instead focus on rather than creating materials that can help other developers build their own software.
Before I created a project for one of the courses, I realized that I had done exactly the same thing 10 or 20 times before.
verification. log in. registered. forget password? Email confirmation. Security Code. OAuth. Log in with Google. Test everything.
I did some research, and if you look at where the experts are discussing (such as Hacker News), on this particular topic, there are many threads that take a whole day to read and digest.
This is a set of best practice areas, but it is not documented anywhere. You should implement your own workflow, there is no place to discuss, ask or let people you know become experts, and be able to figure out the pros and cons of each method. Except for those general places that you hope and hope someone will answer.
And most of the time, you have to ask questions where you discuss a particular type of application stack or technology.
But this matter has nothing to do with technology. If your authentication workflow is built on React or Vue, or if it is a server-side Node or Elixir application, it will not change anything.
It's always the same, but every time you need to reinvent it.
Figure out if this is a problem worth solving
So my initial idea was to solve this problem.
This is a difficult task, and it all starts with a concept. That’s why I brainstormed the naming and logo,https://prototyped.dev/On the website, I made a video and started to translate my ideas into text.
Then I presented an email registration form.
I think before proceeding, I have to convince people to send me their emails. If I can't even do this, it would be too bad. I put a link on the blog to attract some traffic.
This is 2 weeks ago. 1935 people visited the site, and I had 130 people signed the waiting list.
This is a good first step.
Someone is interested. Maybe I made a fascinating video. Maybe they just want to see what I will do.
Therefore, yesterday I sent this email to these people:
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:
- The stack I use to run this blog
- 8 good reasons to become a software developer
- SEO for developers writing blogs
- Review of the book The 4-Hour Work Week
- Build a lifestyle business
- Build your own platform
- As an indie maker, what kind of product should you build?
- Create your own job security
- Developers, learn marketing
- The freedom of a product business
- Generating value
- Have a purpose for your business
- The idea is nothing
- The niche
- Remote working for software developers
- Product / market fit
- The best podcasts for frontend developers
- Why should I create an email list?
- Disconnect time from money
- The scarcity principle applied to software products
- The social proof principle
- How I added Dark Mode to my website
- My notes on the Deep Work book
- The pros of using a boring stack
- How to estimate programming time
- On going independent as a developer
- How to learn how to learn
- Why interview questions for programming jobs are so difficult?
- Do I need a degree to be a programmer?
- Everyone can learn programming
- How to be productive
- How to get the real number of pageviews of a static site
- Have you filled a developer bucket today?
- How I record my videos
- All the software projects I made in the past
- Tutorial purgatory from the perspective of a tutorial maker
- Every developer should have a blog. Here’s why, and how to stick with it
- Having a business mindset for developers
- How to write Unmaintainable Code
- What is Imposter Syndrome
- How to work from home without going crazy
- How I prototype a Web Page
- You should be the worst developer in your team
- How to start a blog using Hugo
- Write what you don't know
- How to block distractions using uBlock Origin
- Coding is an art
- I wrote 1 blog post every day for 2 years. Here's 5 things I learned about SEO
- Dealing with the fire
- On being a generalist
- The Developer’s Dilemma
- My plan for being hired as a Go developer. In 2017
- Productivity gains of using a Mac and an iOS device
- How to go from tutorials to your own project
- This is my little Digital Garden
- How to start freelancing as a developer
- Sharing the Journey Towards Building a Software Product Business
- Subfolder vs subdomain
- How I use text expanding to save time
- Software is a superpower
- I love books
- How I decided to create a new projects management app