Prepare mashed potatoes (or rice) and keep warm.
Puree one of the chopped onions and the coconut milk together in a blender or food processor. If you taste it, don't freak out. It will be milder after cooked!
Saute one onion in the olive oil until translucent. Add garlic, and cook for another minute. Add tomatoes and poblano, and cook about three minutes until tomatoes are a little soft.
Add salt, pepper, and 1/2 the coconut mixture (that's all I needed - you can add more), and bring to a boil. Simmer for about 6-7 minutes, stirring occasionally.
In another pan, saute the shrimp in butter and lime juice. Watch it constantly. Cook only until the shrimp have just become pink. Don't overcook.
Add shrimp mixture to the coconut mixture. Add cilantro and keep it as low as possible to keep it warm.
Heat the oil in a skillet (preferably a cast iron skillet) on high. Season mahi-mahi with salt and pepper. Sear mahi-mahi on high for about one minute, and reduce heat a little. Turn after two or three minutes, and cook on other side. Do not overcook. Move off of heat.
Put mashed potatoes on rice on each plate. Top with mahi-mahi, and then the shrimp with a lot of sauce. Alternatively, you can put some of the sauce on the plate before the mashed potatoes. Serve immediately (this needs to be a hot, fresh dish).