In a medium bowl, combine coffee, onion, molasses, ketchup, vinegar, soy sauce and hot sauce.
Place ribs in a large baking dish and pour marinade over the top. Evenly coat ribs with marinade. Cover with plastic wrap and refrigerate overnight.
Set a gas or charcoal grill for indirect heat. Wrap ribs tightly in a single layer in heavy-duty aluminum foil. Grill ribs in foil over indirect heat for 2 hours, turning after 1 hour.
Remove ribs to a cutting board and cut into 3 portions. Set grill to high. Brush ribs with marinade and grill about 3 minutes per side. Place marinade in a saucepan, bring to a rolling boil and cook 3 minutes. Cool.
Serve ribs with cooled marinade as a dipping sauce.