I've been publicly releasing software for a _VERY_ long time now. A few things I've learned:
# 1. Don't wait
There is rarely a "right" time to release software, where you're going to feel it's _completely_ ready. All software has bugs, you'll always miss things, and so will everybody else releasing software. It's the nature of the beast.
If you aren't a little bit embarrassed by what you shipped, you shipped it too late. We all implement bad ideas or mistakes at some point.
I don't know any seasoned developer who hasn't at some point looked at some old code was like "What idiot designed this mess?", only to find out it was the idiot asking the question.
# 2. Your work isn't you
It's something you created, but a criticism to software isn't judgement on you. Again, no software is perfect, and not everybody will view things the same way, but when a person is critical of software, they're almost always critical of the software, not the person.
# 3. Feel proud of yourself
Just putting something out there is a big achievement by itself! Since there's no "right" time to release something, you should always feel proud just to have done that.
# 4. Criticism isn't failure
Anything someone might say about the software, any issue that comes up, or any suggestion, or criticism, isn't a failure. It's a feature request or a bug fix. A todo item. If you even agree with them in the first place.
(It is 100% okay to always just say "no" to any suggestions/criticism from people).
# 5. You're in good company
Everybody who has ever released any software publicly has gone through your exact mindset. It's paralyzing at first. Eventually you go _shrug_. We can all relate, though. If you're ever having trouble making the decision to put something of yours out there, talk to someone else who has done it.