diff --git a/GSoC2011Ideas.wiki b/GSoC2011Ideas.wiki
new file mode 100644
index 0000000..494f1e7
--- /dev/null
+++ b/GSoC2011Ideas.wiki
@@ -0,0 +1,81 @@
+#summary Ideas List for GSoC 2011
+#labels Importance-Featured,Contents-Draft,Featured
+
+= Introduction =
+
+ _While Melange will apply as an organization, there is no guarantee that we will be accepted as an organization for GSoC 2011.  You're invited to drop by at #melange on FreeNode to discuss.  Help us make it happen._
+
+
+== [PossibleMentors Possible Mentors] ==
+These are, in order, the most likely or best mentors for this project idea.
+
+== Skills ==
+
+  * All developers will need to have experience in, or be willing to learn Python.
+  * Prior experience with Django or an equivalent framework would be a distinct plus.
+  * Knowledge of JavaScript (AJAX), and a feeling for web design is big plus as well.
+
+== Difficulty==
+'Easy', 'Moderate' or 'Hard'.  Hard is not necessarily better!  We are risk averse!
+
+== Early Spinoffs ==
+
+We want code that we can actually use, not code that shows great promise.  At the half way stage, you MUST have something complete that we can actually use as a 'spin off' of the work.  In discussing projects we will try to help you find ways to have spinoffs along the way.
+
+
+----
+----
+= Idea Details =
+----
+
+=Testing, Code Guru, Code Quality Assurance=
+
+===Description===
+
+Melange is sorely lacking tests, and it's hurting our development speed significantly. What we need is a extensive set of unit tests for our logic and views, as well as functional tests to make sure that all views work as expected. This will require learning the codebase first, so as to know what something should do. Test-based exploring would be most suitable (learning how the codebase by writing tests that confirm that things work a certain way). We want test coverage such that it is possible to refactor a core function without doing any manual testing, and still be fairly certain that everything works as expected. On top of that, we want to be able to start doing TDD, which is a lot easier if there are a lot of tests already. All developers will be asked to include tests with their changes as soon as we start doing TDD, so once the momentum picks up things should get easier.
+
+A lower priority, that can be pursued once we have decent test coverage, is to make sure that all pylint errors are fixed, and that all warnings are fixed or suppressed as appropriate. This way we can require that each commit introduces no new pylint errors, which will ensure some level of code quality.
+
+===Skills===
+
+  * Python
+  * Django
+  * Testing
+
+===Difficulty===
+
+Moderate, but requires a lot of effort
+
+===Mentors ===
+
+* Sverre Rabbelier (SRabbelier on #Melange)
+
+= Other ideas =
+
+  * integrate OpenSocial into Melange
+  * add functional tests using twill
+  * Profiling and Caching developer tools
+  * extend functionality of our buildbot (post commit hooks, pylint integration, application deployment to testing App Engine instance)
+  * add features that will enable to organize GSoC/GHOP Meetings (creating new events, managing participants, integration with Google Calendar API),
+  * Melange API allowing any external page to list current status of tasks and tasks list, participating projects etc.
+  * generating pdfs, docs of student applications
+  * integrating export functionality of tables, proposals with Google Docs (use Google Docs API)
+  * upload of student presentations (storage, viewer)
+  * work on selected issues from Melange Issue Tracker
+  * Non US students should be able to upload their Tax forms via their Student dashboard page (no more faxing or sending via email)
+  * Melange should enable admins/host to easily autogenerate CPT letter or letter of acceptance if one is needed/requested by student. This would generate pdf file ready to print based on the data from student profile (including program logo).
+  * User (Roles) profiles (mentor/admin/student/organization admin/) with profile photo, functionality to share profile information with other GSoCers ) - privacy settings for your profile
+  * dates that are setup in GHOP and GSoC Melange configuration page can be later automatically put into faq and terms of program in specific places
+  * Melange survey module should have autosave forms functionality (just like in gmail)
+  * Google Calendar API support for events planning
+  * Adding other GSoCers as friends to your profile,
+  * Sharing profile data with other social network users
+  * Messaging module allowing to send messages to other users (emails) (Way to improve communication between GSoCers, GHOPers)
+  * Requesting profile data access
+  * Better geo location features
+  * Nice upload of profile photo with crop functionality via JS library.
+
+= Some Rough Notes =
+
+   * Did we mention that we have an active IRC channel, #melange?
+   * Some words for you, to inspire more ideas: *[http://code.google.com/p/soc/wiki/TestingGuidelines Automated Testing]*, *World Domination* (ask), *Access Control Module*, *Profiling*, *Log Analysis*, *[http://code.google.com/p/soc/issues/list?can=2&q=&sort=-id Issue Tracker]*, *[http://code.google.com/p/soc/wiki/AccessControl Security]*, *Optimization(s)*, *Mentor Summit*, *Wiki*.
\ No newline at end of file
