The client is anyone who uses the work you've done - everyone works for a client: it can be in the traditional sense the person who will buy the product, or a colleague, or a manager. You are most likely part of a chain, a member of a team, a step in a workflow. Even managers have their clients.
And while you may not like it, it's the client who decides when the work is done, when it is approved. The work isn't finished until the client says it is (or you break off the relationship with the client). To make thing run smootly, to avoid rework and rejected work, you need to apply the Rule of Three:
1- Find out who your clients are: if you start work without knowing who it is you will be doing work that is not what is needed, for the person who doesn't need it.
2- Find out what they want: what does ‘done’ mean? What does success look like to them? Making assumptions is guaranteed to require rework. Get them to verbalize, clearly and without ambiguity what they want, then get them to write it down (not to use it against them later when they change their minds, but as proof that they are thinking about it clearly).
3- Show it to them often: once you've identified who the client is, show them (and only them) work in progress regularly to ensure you both understood each other, that what they asked for is what they imagined, and that they haven't changed their minds. A lot of clients don’t know what they want until they see it, so make sure they see it, repeatedly and regularly.