Google Summer of Code Ideas

The following is a list of possible Google Summer of Code projects for Prosody. You are always welcome to suggest your own, and if you need to, please feel free to discuss these with us 😄

Listed under each idea are the main skills that will be required to complete the project. Full proficiency with all of them is not required, but you should be prepared to pick up the ones you don't know, and ideally show some progress before work starts.

Finally, for more information on applying see the XMPP wiki!

Spam/abuse prevention

Although spam and abuse isn't prevalent on XMPP as it is on most other networks, it's on the rise. Implement a range of features to help stop this trend, and help service administrators keep on top of abuse on the network.


  • A good familiarity with how XMPP works.
  • Lua programming.

Web Interface

An XMPP-based web interface to monitor and control Prosody instances (and at some level, other servers). We have an initial version as mod_admin_web, but it has some way to go to become nice and usable.


  • Web development: Javascript (lots), HTML (some), CSS (enough). mod_admin_web uses Strophe.js.
  • A basic understanding of how XMPP works.
  • Ability to pick up Lua (not hard, and plenty of guidance will be available).

XMPP network monitoring

XMPP is a public federation of servers, but sometimes a directory of what public services are available is desired. Some work has been done recently on specifying a way opt into inclusion in such directories. This project would have multiple parts:

  • Finish implementation of XEP-0309: Service Directories in Prosody to allow servers to opt-in to directories of XMPP services.
  • Develop a Prosody module to publish the service directory to the web.
  • Implement realtime monitoring of the services in the directory.


  • XMPP
  • Lua
  • Some amount of HTML and Javascript