As the old saying goes: perfect is the enemy of the good. Do not wait. Do not clean up your code first. Do not fall into the trap of "I just need to do this before I Open Source my project."
The sooner your code is made open and available, the sooner you can attract users, fellow contributors and it becomes obvious that your project is out there.
No one expects it to be perfect to start with. Your work on improving the project will be seen as active work on the project – a good thing. Be frank and open: document the state, explain to your audience what they should and could expect from the project as of right now.
Encourage users to try it out. Ask them for feedback early on. Feedback is the fertilization you need to learn to appreciate and act on.
Start with the small and easy things, then add and build on those over time.
- Create a repository and presence on a source hosting site
- Add a description that explains what it is and what problems it solves
- Land or import your first code attempt
- Tell your closest friends about your new project
- Put a license on the project
Listen to feedback, invite collaboration, iterate.