Put the potatoes in a medium pot and cover with water. Cover the pot and bring to a boil. Reduce the heat to medium and continue to cook for 10 minutes or until the potatoes are fork tender.
Drain the potatoes. Use a mallet or the back of a knife to lightly smash the potatoes. Gently toss them with the olive oil, chili powder, paprika, garlic powder, salt, and pepper. Spread the potatoes on a baking sheet and roast in the oven for 10 minutes. Flip the potatoes over and bake for another 7-8 minutes or until golden brown.
While the potatoes are roasting, make the avocado lime crema. Blend together the avocado with yogurt, cilantro, lime juice, salt, and pepper until smooth. Set aside.
Transfer the potatoes to a serving platter. Garnish with the chopped cilantro, cotija, and crispy shallots. Serve hot with the avocado lime crema.
The avocado lime crema can be prepared the day before. If the sauce is too thick, add a splash of water to thin it out.