PyPy allows experimentation in many directions -- indeed facilitating experimentation in language implementation was one of the main motivations for the project. This page is meant to collect some ideas of experiments that the core developers have not had time to perform yet and also do not require too much in depth knowledge to get started with.
Feel free to suggest new ideas and discuss them in #pypy on the freenode IRC network or the pypy-dev mailing list (see the home page).
One of the advantages of PyPy's implementation is that the Python-level type of an object and its implementation are completely independent. This should allow a much more intuitive interface to, for example, objects that are backed by a persistent store.
The transparent proxy objects are a key step in this direction; now all that remains is to implement the interesting bits :-)
An example project might be to implement functionality akin to the ZODB's Persistent class, without the need for the _p_changed hacks, and in pure Python code (should be relatively easy on top of transparent proxy).
Another example would be to implement a multi-CPU extension that internally uses several processes and uses transparent proxies to share object views.
Every night, various kinds of PyPy tests run automatically on a variety of different systems. Each set of tests displays its own result on a different web page; for example, here are the results of our unit tests, translation tests and benchmarks and pypy-c compliance tests.
A possible project is to improve our testing infrastructure and build a service that aggregates and displays the results of all the nightly tests.
...or whatever else interests you!
Feel free to mention your interest and discuss these ideas on the pypy-dev mailing list or on the #pypy channel on irc.freenode.net. You can also have a look around our documentation.