1 Rinse fish fillets, pat dry, chop finely and place in a bowl. Let chill about 10 minutes in the freezer.
2 Meanwhile, rinse tomatoes, wipe dry and cut out the stems. Finely chop tomatoes and place in another bowl.
3 Use a sharp knife to remove peel and bitter white pith from the orange, following the curve of the fruit.
4 Working over the bowl with diced tomatoes to catch the juice, cut orange between membranes to remove whole segments.
5 Squeeze orange membranes to extract as much orange juice as possible into the bowl.
6 Cut the orange segments into cubes and add to the tomatoes.
7 Peel garlic and chop very fine. Squeeze out juice from half a lime into the tomatoes, then add half of the garlic along with 1 teaspoon olive oil. Season with salt, pepper and a pinch of red pepper flakes and mix well.
8 Rinse basil, shake dry, pluck leaves and chop finely. Stir the remaining garlic and olive oil with the yogurt and season the dip with salt and pepper.
9 Place the ice-cold fish cubes in a blender and chop briefly. Separate the egg and add the yolks to the blender (save the whites for another use).
10 Season with salt and pepper, add the mustard and mix to combine. Shape mixture with moistened hands into small, flat patties.
11 Heat the canola oil in a non-stick pan over medium heat. Add fish patties and fry until golden brown on all sides, turning gently, 3-5 minutes. Serve fish cakes immediately with the orange and tomato salsa and basil dip.