This is my first Drupal module. I'm setting up Civi to provide CRM to members of a search committee for the election of a bishop. The typical process in the Episcopal Church involves several dozen priests who may feel called to serve as the bishop in the electing diocese. I use Civi to collect initial contact data from the applicant and to create a Drupal account. I also wanted to collect contact information for references via a Civi Profile from the applicant. It occurred to me that it would be really useful to create a relationship between the applicant (the acting user) and the reference (contact created). So I created a custom relationship (Reference/Reference for) and used the Relationship API in conjunction with the PostProcess hook to create the relationship after the contact is created.
After feedback from other CiviCRM developers I've made it useful for this class of problem in general.
CiviRelate creates a CiviCRM relationship between the acting user and a CiviCRM contact created by the acting user through the submission of a designated CiviCRM profile form.
The module has a simple configuration page which accepts, via select fields, the Profile to use and the relationship to create.
The module is hosted at Drupal.org.