From The America’s Test Kitchen D.I.Y. Cookbook
Add bacon to Dutch oven and cook over medium-high heat, stirring occasionally, until crisp, about 20 minutes. Using slotted spoon, transfer bacon to paper towel-lined plate, leaving rendered fat in pot.
Return pot to medium heat, add onion, shallot, and garlic, and cook, stirring occasionally, until onion is softened, about 10 minutes. Return bacon to pot, then stir in coffee, water, vinegar, maple syrup, sugar, honey, allspice and chili powder. Bring to simmer and cook, stirring occasionally to prevent scorching, until mixture thickens and rubber spatula or wooden spoon leaves distinct trail when dragged across bottom of pot, 1 to 1 1/2 hours.
Remove from heat and let bacon mixture cool for 15 minutes. Using slotted spoon, transfer mixture to food processor, leaving excess fat behind. Discard excess fat. Pulse bacon mixture until finely chopped, about 5 pulses, or until mixture has reached desired consistency. Transfer jam to jar with tight-fitting lid. Jam can be refrigerated for up to 2 weeks. Bring jam to room temperature before using.