Kindling projects

New programmers often need small projects to work on as they hone their skills. Exercises in courses are too small, and don’t leave much room for self-direction or extending to follow the interests of the student. “Real” projects, either in the open-source world or at work, tend to be overwhelming and come with real-world constraints that prevent experimentation and pure coding practice.

Kindling projects are meant to fill this gap: simple enough that a new learner can take them on, but with possibilities for extension and creativity. Large enough that there isn’t one right answer, but designed to be hacked on by a learner simply to flex their muscles.

This is a list of ideas, and pointers to lists of ideas, of projects that beginners can tackle. If you have an idea to add, send it in. I don’t personally have experience with most of these pointers, so if you have a strong opinion about one, I’d be interested to hear it.

Lists of projects

Other peoples’ lists of project ideas. A word of warning: the lists can be overwhelming. Don’t try to take them all in: scan the list until you find one that strikes your fancy, and forget the rest.


Individual project ideas.


These are series of exercises designed to teach a particular set of concepts. They are much more guided than projects, but can also be a good way to level-up your skills.


These are more-polished practice sites, some for pay, some not.

BTW: comments are welcome. Comments suggesting new links will be incorporated and deleted.


EricH 1:18 AM on 9 Nov 2015

An enigma machine -- juuuust hard enough to be interesting; and simple enough to be doable. I humbly point out my attempt:

Perry Grossman 5:20 PM on 3 Feb 2016

Maybe do a data science project through Datakind:

Perry Grossman 5:23 PM on 3 Feb 2016

Also, this tutorial, developing a Python data app on Heroku with Bokeh and Flask:

I am working through it now, but am getting a bit stuck.

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.