I did made a working example to check what to expect in output (less than minute of waiting on average), but I would not share it until OP stops asking
How would you approach this??
and tries to actually follow any advice and produce own (incomplete, broken — it is irrelevant) code.