Focus on a simple product and protocols
I’d like to propose here that it’s a good idea to start with a simple piece of software with explicit simple protocols that make it a good place to start. Others will be able to build a similar product that uses the same protocol. And still others will be able to connect to the other end of the protocol to use it in their software. Every piece of software created like this can be replaced with better software or new ideas can be tried without recreating everything from the ground up....