I've become fairly competent as a programmer, but I would not say I am a master. I work independently, most as a hobby, although I have done some freelance PHP work. I tend to find myself dabbling in a lot of things: Java Android SDK, Arduino, game scripting, Lua, etc.
I've reached the point where I want to start a real software project, but cannot think of a small enough project that allows me enough practice, while still being able to publish a decent piece of software in a reasonable amount of time, and build up a portfolio.
More specifically, I was looking at Ubuntu development, in Python, using the Quickly toolset, which includes the PyGTK libraries.
So the question is, what is the best way to come up with a small project that is still useful, as a starting point to a software development career?