Micro-ISV: From Vision to Reality

March 02, 2025

Book Notes

What is it? A self-funded Internet business.

On the Internet, no one knows or cares how big your company is, how many people work there, or whether you’re sitting in a cubicle or in your home office. The only thing they care about is whether your software or service gets the job done.

The Internet makes it possible to run a different kind of business model. A one-person company can connect to the right people in a billion-person market instantaneously if that person has something of value to offer.

What do you need? A strong desire to be your own boss and run your own life.

If you have not a clue what application to write to start your own micro-ISV, here’s a systematic approach to start.

Step 1: Find at least three interesting industries or marketplaces

Step 2: Research software-related topics in these industries - how people / companies use software to work in these industries

Step 3: Talk with people working in these industries. You might come across a really good problem that you can solve in a cool way and make money. Define the problem domain: Write a one-page description about how you’d apply your techincal know-how to solve the problem you’re excited about.

Step 4: Find if someone has already solved this problem in the same way. Having competitors is a good thing - they give you legitimacy, potential customers, price points, if, and only if you can do a better job of solving some or all of the problems they solve for their customers in a new way.

Step 5: Decide if you want to work on this problem in this industry, for these people. You’re about to trade the next few years of your life working on this problem with these people, while living the challenges, concerns, and worldview of this market segment. Are you really comfortable with it? Do you even like these people and feel good when their lives improve? If not, move to the next problem. If yes, welcome to your new life.

Joel Spolsky’s rule of thumb is this: tell me what pain you are eliminating with this product. If you’re not eliminating some piece of pain, nobody is going to break out the checkbook. You have to tell me what’s not working, what one thing is painful.

When you find a customer’s “painpoint” - the part about their current process or software that eats up their day and resources - then you have found something you can build. You just found a project.

Immersed in a domain / field for a year or more, you can find this “painpoint” for a whole industry. You just found a product.

You will need multiple plans: Application software development plan with milestones, marketing plan, payment plan, sales strategy, support plan, etc.

Plan in broad strokes, and fill in as needs and circumstances dictate, but paralysis by analysis has been the downfall of many obsessive IT people.

Don’t spend your days in a cubicle wondering if you can turn that burning desire in your guts into something real - go for it.

Designing Your Application

You want a coherent and realistic definition of what your product looks like, acts like, and feels like for the people who are going to buy it.

Write down how users will interact with your application. Working through how your customers will use your software is a surefire technique for getting the scope of your application down on paper.

Presenting the Product

Your product or service needs to have an identity your customers can understand, remember, relate to, and like.

Your application alone isn’t your product. Your application plus your website, blog, graphics, payment processing, customer support, and overall customer experience is your product.

It’s really important to be committed to doing something different - don’t build a brand that makes you one of the trees in the forest and then spend the rest of your marketing budget trying to stand out - because that’s what most companies do, and it’s waste of resources.

Marketing: Start thinking about the set of people who, if they know about your product, and what it could do for them, could become your very own market.

Most worthwhile endeavors, like starting a successful software company, have at least two mandatory components: a great deal of work and the belief you can do it.

Dharmesh Shah's Advice

Narrow the focus of your product offering. It’s a major temptation to create as broad a solution as possible, but a narrow, focused solution on a specific segment of the market is much more likely to succeed. The smaller your market (especially initially), the higher your chances of success.

Read, read, read. One can learn at least 25 percent of the hard lessons out there through the experience of others. Not all mistakes need to be made in order to get internalized.

When you take a generic or horizontal product and narrow it, you almost always increase your opportunities as a software company.

Joel Spolsky's Advice

What a software developer should do? (From Joel): Pick one tool and know it obsessively well. You’re going to use it for the foreseeable future building your product or service.

You have to know some advantage you have. YOu need to have a little bit of magic in there somewhere.

(Joel) The reason that I knew that Fog Creek was going to work was that we had the following piece of magic: we were going to do consulting, and that would generate cash that would keep us in busines long enough to be able to become a software company. We could fail 27 times at making a software product, and if we succeeded on the 28th time, that would be great. That was our piece of magic.

The other magic that’s going on obviously for Fog Creek Software is Joel on Software - a built-in audience that doesn’t cost us anything. It’s some extra thing that gives us a competitive advantage that has enabled us to be successful.