OK, Concourse has gotten significantly better in the past few days. If there were a Railsday prize for most-improved-project-since-Railsday, we would definitely be one of the top contenders. The time-choosing code could use some heavy refactoring, and it doesn't quite send emails at all the right times yet, but it'll probably be functional before RailsConf ends at the latest. You can reach the subversion code repository at http://phil.hagelb.org/concourse.
One of the most interesting things about the development was that the data model stayed rather stable almost the whole time. We only had one migration, and that was to change the data types from datetime to date. But then in the last half hour we had a huge change in how we stored things.
There is an attendances field that records a user's attendance to a meeting. It has a serialized field called 'times' that was originally meant to store a custom data type I would code called a Noncontinuous Range. (Ranges in Ruby are good for storing time ranges, but we needed to be able to have multiple non-overlapping ranges in a single day and perform set operations (the intersect of Quentin's range and Arthur's range, for example) that I wanted to code into this class.)
Anyway, I hope you'll try Concourse out. It won't solve your problems quite yet until I can configure ActionMailer on DreamHost, but hopefully it will be useful very soon.
Tomorrow I'll be getting on the plane to Chicago for RailsConf. It should be very interesting; I'll post thoughts and photos.