Preheat oven to 450° F. Prepare a baking sheet by lining with parchment paper, and set aside.
Peel & cut sweet potatoes into ½” cubes. Add to a large mixing bowl with minced garlic, olive oil, cumin, chili powder, cayenne pepper, salt & pepper. Toss well to coat and add to prepared baking sheet in a single layer. Bake for 25-30 minutes, stirring half-way through, until sweet potatoes are tender and slightly caramelized on the edges.
While the potatoes are cooking, prepare the Lime Crema by combining all ingredients in bowl and stirring until smooth. Taste and add salt, if necessary. Cover and refrigerate until needed, so the flavours can combine.
Drain the can of black beans but keep the liquid. Dice the onion. Heat a large non-stick skillet over medium heat, add oil. When hot, add onions and stir until the onions start to soften, about 4-5 minutes. Add beans, garlic, chili powder, half of the bean liquid, and salt & pepper and stir to combine. Lower heat to medium-low, and cook for 15 minutes or until beans are soft enough to mash and most of the liquid has evaporated. If the beans look like they're drying out, add the rest of the bean liquid. Remove from heat and mash beans to your desired consistency; I like a chunkier bean mix. Set aside while you make the corn and heat the taco shells.
In a dry cast-iron skillet or griddle, toast the corn until slightly charred, stirring constantly, about 3-5 minutes. Sprinkle with Tajin seasoning and set aside.
In the same cast-iron skillet or griddle over medium-high heat, warm the soft taco shells, one at a time, on both sides until slightly browned and puffed, about 1-2 minutes. Keep warm on a plate covered with a kitchen towel until all taco shells have been warmed.