Do Basecamp/Hey use ViewComponents?

We do not use ViewComponents at 37signals, and have no plans to do so. Glad to see that they’re working for some people, but in my opinion, you’re usually better off with regular partial templates the majority of the time.

If some views are particularly complicated, we use presenter objects that serve to encapsulate domain object manipulation required by the views. A heuristic there is that if you have helper methods that call other helper methods, you may benefit from a presenter object. But these presenter objects do not call #render directly.