Aside from listing desired functionalities/features, we also need to sketch out how the user will interact with our software. To that aim, we typically build a Mockup or sketch out a wireframe.
"A website wireframe, also known as a page schematic or screen blueprint, is a visual guide that represents the skeletal framework of a website." - Wikipedia
There are many free and proprietary tools out there to create mockups and/or wireframes. Balsamiq is a great proprietary writeframing tool. You really don't need a software for this! Keep it simple and use paper & pencil but feel free to leverage more powerful tools like Sketch, Figma, InVision, etc. You may also find free ones like mydraft.cc, wireframe.cc, or pencil project useful.