So you did have a spec, you just did the work of producing it yourself. That's sometimes necessary for a developer to do, and for small projects it can be the best approach as well.
Oh, and users never know what they want, even when they think they do. What they know is the problems they have and the job they're trying to do or want to do. It's the job of the software designer (both spec writer and programmer if they're different) to figure out what the software has to do to give the users what they need.