Preheat oven to 390F. In a large bowl, combine the almond flour and xanthan gum. Add the egg and mix together until well combined — the mixture should resemble a doughy ball. Set aside.
In a pot over a medium-low heat, slowly melt the cream cheese and mozzarella together. Remove from the heat once melted. Note: You can also use a microwave for this step.
Add the melted cheeses to the almond flour mixture and knead until well combined. The mozzarella mixture will stick together a bit at first, but just keep kneading it until well combined. It's important that the xanthan gum be well incorporated throughout the cheese mixture. If the dough gets too difficult to work with, microwave for 10–20 seconds to warm it and continue to knead until you have something that resembles a dough.
Split the dough into even pieces (one for each bagel) and roll these into logs. If you have a donut pan, place your logs in the pan. If not, make circles with each log, join them together, and place on a baking tray. Try to make sure you have nice little circles. The other way to do this is by making a ball, flattening it slightly on the baking tray and cutting a circle out of the middle with a small cookie cutter.
Melt the butter and brush it over the top of your bagels. Sprinkle with the sesame seeds — the butter should help them stick. Optional: Feel free to add garlic powder, onion powder, or any other toppings of your choice.
Place in the oven for about 18 minutes. Keep an eye on them — the tops should be golden brown. Remove from the oven and allow to cool.
If you like your bagels toasted, cut them in half and place them back in the oven until slightly golden and toasty. Spread on some cream cheese and pesto, add a few arugula leaves, and top with the crispy bacon (or your filling of choice). Enjoy!