I don't think you need PM tools for this. It sounds more like you are just losing overview of the scope of the project.
To prevent scope from getting out of control, you should be fine by writing a "requirements specification" for the software. You can find lots of guides for writing such online. It's really just a description of the desired functionality, as detailed as you can make it.
Naturally, the customer should be very involved in the process, but you don't have to be physically in the same room. Skype talks and screensharing will be fine.
Try to keep the spec as non-technical as possible. The client, as a non-technical person, should be able to understand it and ultimately approve it. Tech details like database model shouldn't go into the spec. You can keep this in a separate "technical specification" / "developers documentation" if you wish.
UI mockups ("wireframes") of all the pages / screens in the app, is a great thing to have in your specification. For simple wireframing, you can use Balsamiq (https://balsamiq.com/)
With a good spec, you'll both get a much better understanding of the project scope. If you are giving a fixed price offer for the project, it's also an important document to use for negotiation when the client inevitable will want various changes / new additions. And if it's a small one or two man project, it's fine to manage the project entirely around this document.
Just be sure to keep it updated and version controlled.