My company, Architects.io, produces blueprints for software projects
The blueprint is a design specification for a single application, or for several different applications which communicate with eachother using different APIs and protocols. Our goal in developing these blueprints is generally to use research and experimentation, measurements, prototypes, and things of that nature to learn as much as we can and to provide as much specifity and context as we can about the problem domain we are attempting to write software for.
We aim to understand the user and everything they want to do, and all of the different constraints the software is operating under and that the people building the software will be living under while they work on it.
We capture this information in a living document which is deeply integrated into the software itself and the processes and tools of the developers and designers working on the system. This provides a single unified place to see all of the necessary information to build