Peel and finely chop the shallot. Peel and crush or grate the garlic. Halve the chilli. Flick out the seeds (or leave them in for more heat). Finely chop the chilli.
Warm a small pan for 1 min over a low heat. Add the shallots, garlic and chilli with 2 tbsp water and a pinch of salt. Gently cook for 5 mins, stirring occasionally, till the shallots have softened.
While the shallots cook, put the peanut butter in a bowl. Stir in 2 tbsp boiling water till you have a smooth, loose mixture. Shake the tin of coconut milk vigorously, then pour 100ml coconut milk into the peanut butter and stir to mix.
Pour the peanut butter sauce into the pan with the shallots. Turn up the heat a little. Cover, bring to the boil then turn the heat down and simmer for 5-6 mins, stirring occasionally, till the sauce starts to thicken. Take off the heat. Squeeze in the juice from the lime. Set aside, with the lid on to keep warm. This is your satay sauce.
While the sauce simmers, break the broccoli into florets and roughly chop the stalk. Blitz in a food processor to make 'rice'. No food processor? You can coarsely grate the broccoli or very finely chop it instead. Set aside.
Trim the aubergine and chop into chunks around 1cm across. Halve the pepper, scoop out the seeds and chop to match the aubergine. Drain the tofu and chop it to match too.
Tip the broccoli rice into a pan. Add 3 tbsp water. Cover. Set over a medium heat for 8 mins, stirring a few times, till the broccoli is warmed through.
While the broccoli warms up, warm 2 tsp olive oil in a frying pan. Add the aubergine, pepper and tofu. Fry for 8 mins, stirring often, till the veg have started to soften. Add 1 tbsp Thai green curry paste. Cook and stir for 2-3 mins. The veg should be tender.
Drain the broccoli rice, if necessary, and divide between two warm bowls. Top with the veg, then spoon over the satay sauce and serve.