Whenever I need to implement a custom feature for a Drupal site, I always check the Drupal.org module repository to see if someone has already written a module that does the same thing. This can be difficult, since the number of modules has exploded in recent years and the infrastructure for browsing them has not caught up (though the redesign project has noticed this and is discussing some great improvements). But that might be a ways away so in the mean time I've whipped together one new way of browsing modules with this nifty little Module Dependency Browser for Drupal.
This module browser addresses a subspecies of this problem that I tend to run into is that I know the feature I need will depend on a certain module. "I need a module that turns a given View into a SimpleNews mailing," I'll think to myself. The knowledge that the module will depend on Views and SimpleNews narrows the field a lot, but there's no easy way to browse modules based on dependency. So I built one. I call it the Module Dependency Browser because I ran out of Clever Name Juice. I've got lots of Demo Setup Juice to spare, though, so you can see it in action on my newly-Drupalized personal site.
It works on a local checkout of the Drupal contributions/modules directory. It expects D6 modules, but other than that, you can pass whatever branch or tag you want to the cvs checkout command. I only want to browse modules that have reached 1.0 for Drupal 6, but others may want development versions.
Once you've got your checkout, install the module as normal and feed it the checkout directory in admin/settings. It'll build a dependency tree from the modules it finds. Go to the Module Dependency Browser page to, um, browse dependencies.
I hope it's useful to someone other than myself, but it's always nice to spend an afternoon scratching a Drupal itch regardless.