Heat the olive oil in a large Dutch oven over medium-high heat. Add the onion, bell peppers, carrots and 1/2 teaspoon salt. Cook, stirring, until the carrots start softening, about 8 minutes. Add the garlic and cook until fragrant, about 2 minutes. Add the chili powder, cumin and tomato paste and cook, stirring, until deep red, about 2 minutes.
Add the coffee and simmer until almost completely evaporated, about 30 seconds. Stir in the tomatoes, 2 cups water, the cocoa powder and beans with their liquid. Simmer over medium-low heat, stirring occasionally, until thickened, about 1 hour 15 minutes.
Stir in the grated cauliflower and cook until tender, about 10 minutes. (Add a splash of water if the chili is too thick.) Season with salt and pepper. Top as desired.
Photograph by Ben Goldstein