I really like creating prototypes, and the process of prototyping. It’s a creative and fun way to find different solutions. By visualising the solution it’s easy to check with users if you are on the right path. Prototyping is also a great way to structure your thoughts as you need to decide how to design the solution.
Prototypes can be more or less advanced, from a sketch made by hand with pen and paper to digital non-interactive prototypes in the form of wireframes (with or without graphics) to dynamic prototypes that more or less look like and behave as a real system.
Start with formulating a problem domain, a Persona and what kind of needs that the imagined system/app would solve for the Persona. Preferably you do that after some user research. Describe a scenario where the Persona uses the solution. Thereafter, start creating one or several prototypes based on that.
One purpose with a prototype is to be able to get feedback on the suggested solution, so that you don’t spend time on developing something that won’t be used or doesn’t solve the actual problem. Try to get feedback on it as soon as possible from the potential users. Depending on the feedback, adjust the prototype, or try a new one, and test again. Iterate as many times as needed and possible. Review the results and decide if you should proceed developing the solution or not.