For the meatballs: In a large bowl, mix the ground beef, chile, ginger, cilantro and 1 teaspoon salt together using your hands until just combined. (Don't mix any more than this or you'll end up with tough meatballs!) Make 16 balls like this: divide the mixture in half, and then in half again. Take each quarter and divide it into 4 small portions. Roll each portion between your palms until smooth. Set aside and repeat for all 16 meatballs
For the curry: In a large skillet over medium-high heat, warm the coconut oil until nearly smoking. Add the mustard seeds, covering the pan with a lid so you don't get popping seeds all over you.
When the spluttering subsides, add the shallots, garlic and ginger and cook until golden brown. Then add the ground coriander, cumin and cayenne pepper. Stir, and cook 30 seconds. Add the tomatoes and cook until they soften, about 5 minutes.
Add the coconut milk, 1/2 cup of water, 1/2 teaspoon salt and bring to boil. Turn down to a simmer and add the meatballs. Simmer until the meatballs are cooked through, 15 to 20 minutes.
To finish, add the cilantro and lime juice. Shake the pan gently to mix them in, and then taste for seasoning. Serve over rice, with Indian bread (naan or chapati) or over spaghetti!