9 ms·
Just hit $1 million/year in sales :) About 20 years ago wrote a scratch-my-itch B2B desktop software for Windows. Side project for 10 years which is how long
by throwaway58182 10y ago
Just hit $1 million/year in sales :)
About 20 years ago wrote a scratch-my-itch B2B desktop software for Windows. Side project for 10 years which is how long it took to reach about $120K to make the switch to full time. Added features and increased price accordingly.
Hired a few more people. Growth is slow but steady. Yearly renewable support contracts are the secret.
Coding is easy, marketing is hard. Persistence, persistence, persistence. In a very crowded niche. Desktop software is definitely not dead - you can charge a whole lot more for it, and ongoing costs (other than people) is comparable to trendy web apps.
Using throwaway so customers don't find this comment.
- tjholowaychuk 10y agoNice congrats! I often hear the same thing, it doesn't matter what your product is, it's how you market it. I still want to make a nice product of course haha but marketing is new to me. Any generic software marketing tips? I promised myself I wouldn't be one of those annoying startups that emails you ever day or two
- throwaway58182 10y agoWe've tried everything, and the only two techniques that have paid off are: website SEO (including having a blog) and Adwords. Adwords is hard - we've thrown away many thousands of dollars on garbage traffic. And some keywords are in the $15-$30 per click range! (our competitors have deep pockets)
- tjholowaychuk 10y agoInteresting, I was pretty much ignoring SEO since it's such a saturated market (for my stuff at least), good to know!
- throwaway58182 10y agoAlso in a very saturated market. Getting to the first page of Google is everything. It takes time work, editing each page, good content, and (though they seem to want to downplay it) good incoming links.
- mck- 10y agoBut TJ, you already have a platform, I would imagine that you'd get inundated with inbound request ;)
- hemancuso 10y agoHow long of a tail do you target for SEO? Especially with the blog.
- arkitaip 10y agoDo you do rich content marketing? Like publishing books, useful infogrpahics, etc?
- throwaway58182 10y agoNo, but it would be great if I was that creative or could come up with stuff like that.
- danielzarick 10y agoTJ – I've found this book to be particularly useful for generating marketing ideas: https://www.amazon.com/Traction-Startup-Achieve-Explosive-Customer/dp/0241242533/ https://www.amazon.com/Traction-Startup-Achieve-Explosive-Cu... Written by the founder of DuckDuckGo, and a great reminder of all the different channels for marketing.
- SoftwarePatent 10y ago> "Coding is easy, marketing is hard" It took me over five years in this business to fully internalize this. Programmers (me included) often complain about clueless entrepreneurs in this business, but even more rare than a good programmer is a good entrepreneur, who can sell/market and turn code into money.
- Frondo 10y agoYep, this times a ten thousand. It took me years to unlearn all of the "marketing is all bullshit" attitudes I grew up with. Whole different set of skills to learn, and not like, say, imperative->FP. Much harder.
- throwaway58182 10y agolol - yes, me too. Used to really dislike the marketing guys. Once you're running a company though, you discover marketing is what counts, more than code quality in most cases. Though I'll say keeping technical debt low has allowed this product to grow for many years.
- daveguy 10y agoKeeping technical debt low... does that mean you are regularly refactoring or changing your technology stack? Just less debt due to a simple desktop design? Good unit tests from the beginning for easy refactoring? Any pointers on how you kept tech debt low and what that means to you?
- pdimitar 10y agoYour question deserves a whole thread for itself, but I hope I can clear some fog around it. Low technical debt mostly revolves around: (1) Keeping your code maintainable. Example: the framework you're using (like one for making a website, or JSON API, or accepting emails and triggering actions, etc.) gets a new version. You stop what you're doing and you go and upgrade. Why? Because the older version of a framework/library you use, the less chances you have to get a bugfix from the maintainers when you inevitably stubmle upon a blocker bug one day. Being able to [almost] always switch to the newest version means: (1.1) Keep a good collection of unit / integration tests. They don't have to cover 100% of the project. If you have a good integration test suite covering most of the customer scenarios, you're already in a much better shape than most projects on the planet. (1.2) Keep an eye out of the changelogs and version releases of all frameworks and important libraries your project depends on. You must have a good idea what's changing in there. It might help you remove WTF code pieces that were working around a defect in the framework/library which suddenly is fixed in the newer version as well. (2) Keeping your code evolvable -- if at certain point of development you conclude Ruby on Rails isn't cutting it, you must be brave and decisively and quickly replace it with something else. There's a huge price to pay when you're hesitant. Don't be hesitant! If your code has separation of concerns, the various pieces have single responsibilities, if it minimizes state sharing and is regularly tested -- that's a project you won't be scared to migrate to a much newer version of your framework, or switch the framework (or even the language) entirely. (3) Keep a huge internal documentation of what you want improved. When you're in a hurry to deliver a working product customers can use easily, you inevitably make compromises. Document them. Be ruthless and never make exceptions. No "I am too tired to write this down right now". NO! Scribble it on a napkin if you have to. Dictate it to your smartphone. Do whatever it takes. Eventually you'll return to your computer and write it down. I use a private Trello board for that, works very well for me. It has ~60 points in there but you know what? 3 months ago it had 150. ;) So keep your code tested and documented. Be real with yourself and document (internally, for your eyes only) all of its warts. Realize its limitations. Find the value it brings to the paying customers. Maintain that. Get ideas on how it can attract more paying customers. Implement them. Bottom line: BE ON TOP OF YOUR CODE, always. Realize that the code itself doesn't change if you don't change it (not like GitHub will maliciously modify your source files) but if you don't change it, then the business value of your code rots over time. It's really not any different compared to any other revenue-bringing asset. It needs maintenance and support (and evolution/expansion when you want to grow).
- hemancuso 10y agoCurious what your average sale price is?
- throwaway58182 10y agoSomewhere around $500 - $600. Per year support contracts are around 20% so the life time value of a customer is probably around $1000.
- hemancuso 10y agoIs the support contract opt in as part of the initial check out?
- eps 10y agoIt sounds like they are selling to the enterprise customers, in which case you'd typically have first year of support included in the price (perhaps itemized separately to allow for creative tax accounting on customer's end) and the renewal will be in a year from the original sale. Again, typically, not automatic, but through persistent nagging.
- throwaway58182 10y agoThe customer gets year #1 for free. At the end of the year we approach them and ask if they want to renew. If they appreciate your software, they usually do. And since my replies were being rate limited, I'll respond to your long-tail question above. We have tried a lot of long tail keywords, but they have such low frequency that Adwords penalizes you (low quality score) for using them, which means you pay more per click account-wide. That is why I say get to know Adwords - there are a lot of gotchas.
- zerr 10y ago> Using throwaway so customers don't find this comment. Not sure about your customers, but if I was a customer of some product I'd be happy to know they're are doing well :)
- Mz 10y agoHe is doing B2B sales. It is wise to hide his small size from companies he sells to. I have seen countless stories that large companies act like bullies and take advantage of small companies on a routine basis. That may not be what he was thinking. But it is in his own best interest.
- yuhong 10y agoYea, I'd really like to know why too. Notice the majority of comments on this thread don't do this.
- danieltillett 10y agoI think it is more the fact that he is a single founder (and one man band by the sounds of it) that s/he wants to hide. Business customers are not happy to buy from a business with a single person risk. Personally in this market having a business run by a single person is probably these risky than a small team since the chance of bankruptcy is less.
- throwaway58182 10y agoOur competitors are 10 - 1000 times larger than us. Doesn't help us in any way for them to know our size. And the couple of customers that know our size have indicated it's better to appear large. For example, you wouldn't switch a company from using Microsoft Exchange to something else if that something else was run by a couple of guys. Our company would be in very deep trouble if something happened to me. To balance that, customers get updates and fixes very fast because they work with such a small company.
- yuhong 10y agoI guess there are probably several issues involved, including the "no one got fired for buying IBM" problem.
- codingdave 10y agoI'm not sure that anything you said would be bad for a customer to see. It is a good thing for vendors to have revenue and be stable. And believe me, everyone who pays a yearly contract knows they are the bread and butter of that vendor. As long as it is a win-win situation, it isn't a secret... just business.
- __a__ 10y ago"Using throwaway so customers don't find this comment." Question - Why would you care if they did?
- lmenus 10y agoCheck comments above, he answered it there!
- kevindeasis 10y agoHey, I'm glad you're business is doing great! Can you give me some tips about marketing when just starting out? From the first customer to the first thousand?
- csallen 10y agoHello! I'd love to interview you, anonymously if that suits your fancy. Is there anyway I can contact you? You can also contact me at csallen at alum.mit.edu.