In a large dutch oven, or soup pot cook bacon until desired crispiness. Bacon is for garnish only. Set aside on a papertowel
Remove bacon grease from pot, leaving only 1 tbsp of grease. Add in ghee. Set heat to medium high. To the melted fat, add shallots and allow to get fragrant & soften about 1 minutes. Add garlic and allow to get fragrant about 30 seconds. Do not let the garlic burn.
Add tapioca flour and stir to absorb some of the remaining grease and create a roux. Once combined, Immediately add in the potatoes & chicken stock. Season lightly with salt. Bring to a boil & cover & cook for about 7 minutes. (smaller diced potatoes may take less time. You want to be fork tender, but not overly soft.)
Add corn & cook for an addition 2-3 minutes
Remove the soup from the heat, temporarily during this step. Transfer half of the soup to a blender & blend until smooth. I recommend blending for at least 3 minutes. The consistency should be of a puree. Once complete, add back the pot and place the soup back on the burner over low-medium heat. At this point you just want to keep the soup at serving temperature.
Lastly, Add half & half or dairy substitute & Stir to combine. Taste, and season with additional salt and pepper.
Serve & Garnish with Bacon and herbs such as green onions, chives or cilantro.