My side projects tend to be libraries for other programmers. I usually get ideas by using existing libraries but being unhappy with the interface / api they offer. I love designing good apis that express the underlying concepts well, while hiding implementation details, and while many niche libraries have a good solution for their problem domain, many are lacking in api / UX.