Everything I know about Python...

Learn to Write Pythonic Code!

Check out the book Writing Idiomatic Python!

Looking for Python Tutoring? Remote and local (NYC) slots still available! Email me at jeff@jeffknupp.com for more info.

Need a Project Idea? Scratch Your Own Itch

I'm often contacted by readers who are proficient in Python and would like to create an open source project/start-up but can't think of a good project. Picking an idea, indeed, just getting an idea, seems like a luck-of-the-draw type deal. Some people just happen to get great ideas, and the rest of us don't.

That's garbage.

Almost all projects/companies exist because someone noticed that others (or, more likely, they themselves) had a need that wasn't being fulfilled. After all, if no one needs the product (or think they need it), no one buys it. So how do you determine a need that isn't being fulfilled and might be the basis for a project/business? Two ways. You could ask people what problems they have that you might be able to help solve, or (for introverts like me) examine what processes or services feel needlessly difficult in your own life.

Thinking about it now, all of my successful projects were successful because I recognized a need not being met. Writing Idiomatic Python began as a humble blog post listing Python idioms. I was frustrated with the code (at a previous job) that was being produced and wanted to find a list of code constructs that were considered "Pythonic". Not finding many, I decided to start a list of my own. The response was so positive that a neon sign saying "Write Me!" might as well have appeared, pointing to the book.

I had stumbled on to a need previously unfulfilled in the Python community: a repository of Python idioms, along with explanations of their use. But it was originally my problem (not being happy with code being written at work) that I was solving. What eventually became my most successful project to date grew organically out of solving my own problem.

Sandman and Bull are two more examples of successful projects borne of necessity. Sandman sprung up when I needed to write a RESTful API against an existing database and didn't feel like writing all the boilerplate ORM code. Bull exists due to my frustration with the various services that exist to help sell digital goods. I took two hours one Friday night and wrote my own, with all of the features I needed. It's now basically at feature-parity with Gumroad (but free and open source, of course).

Neither Sandman nor Bull are solving huge, scary problems. In fact, some would argue that they are almost too simple, and in both cases something like them must already exist. In reality, no one had taken the time to solve those particular problems for themselves and open source it. Neither is an earth-shattering idea. Both address a real need that many people have.

Solve your own problems first. Everyone has interactions with technology that frustrate them. Those are the ideas that are begging to become successful projects or businesses.

Posted on by
comments powered by Disqus