First prepare the crust: Preheat the oven to 350 degrees F and grease an 8x8 baking dish with non-stick spray.
In a large mixing bowl, combine the Butter and sugar substitute. Beat with an electric mixer until well-combined and fluffy. Add the vanilla and egg and mix again. Next, add the almond flour and salt and mix until everything is incorporated.
Transfer to the prepared baking dish and spread into an even layer. Bake in the preheated oven for 10-15 minutes or just until the edges begin to brown. Once it is finished baking, set it aside to completely cool before assembling the dessert.
While the Crust is baking begin to prepare the coconut layer: In a medium mixing bowl, cream together the butter and sugar substitute with an electric mixer until light and fluffy.
Add the eggs, one at a time while mixing on low speed, then add yolks. Continue to beat on low for another minute or two. The mixture should be smooth and creamy.
Next, add the coconut milk and coconut extract and continue to beat on low speed until incorporated. At this point, the mixture will look lumpy and broken, but keep going :)
Transfer the mixture to a medium sized saucepan and place over low heat. Whisk until the mixture is heated through and no longer has a curdled appearance.
Increase the heat to medium and stir constantly, using a rubber spatula being sure to also scrape the bottom and sides of the saucepan, until the mixture thickened to a pudding-like texture. Remove from heat, sprinkle the Xanthan Gum on top and whisk it in.
Stir in the shredded coconut. Transfer the mixture to a dish and place it in the fridge to cool before assembling the dessert.
While the crust and the coconut layer are chilling, prepare the second layer: In a large mixing bowl, combine the Neufchatel cheese and the powdered sugar substitute. Beat with an electric mixer until smooth and well combined then add the vanilla extract and sour cream. Beat again until well combined, then add the coconut milk and continue mixing until the mixture is smooth and creamy.
Next, prepare the whipped cream layer by combining the heavy cream, powdered sugar substitute, and vanilla in a large bowl. Beat with an electric mixer on high speed until the mixture has nearly doubled in size and formed soft peaks. Sprinkle with the xantham gum and continue beating until the mixture forms stiff peaks.
To assemble the dessert, top the cooled crust with the second Neufchatel cheese layer, smoothing into an even flat layer. Top the Neufchatel layer with the completely cooled coconut layer and smooth. Lastly, top with the whipped cream layer.
If desired, sprinkle the top with toated coconut flakes. Chill until ready to eat.