Slice shallots about 1/8 inch thick rings and if yours are particularly large, cut the rings in half. In a large pan, melt 2 tablespoons of butter or olive oil over medium heat. Add sliced shallots to the pan with salt, cayenne, and pepper and sauté about 10 minutes, stirring frequently with a wood spoon. Turn heat down to low and cook another 10-15 minutes until brown and caramelized, watching closely to make sure it does not burn. Cool for 5 minutes. If there's a lot of excess oil leftover, drain it.
In a separate bowl, whisk together cream cheese, cottage cheese, and mayo. Add shallot mixture and stir till combined. Serve at room temperature, or slightly chilled. Serve with carrots, celery, and pita crisps.
Notes
For cream cheese I used Organic Valley or plain Philadelphia in the block form.
For cottage cheese I use Daisy brand without live active cultures.
I find the shallots already have a strong garlic flavor, but if you think it needs more you can add 1/4 tsp. garlic powder. Wait for the flavors to combine a bit before you do.
Take out of the fridge at least 20-30 minutes before serving so the dip softens, otherwise it will be too hard to dip.