Generating questions is easy. Keeping them alive is the work.
Every question is deduplicated against the rest of the pool, calibrated into five difficulty levels, attributed to the dataset it came from and versioned, so an edit six months from now does not silently change what your app served yesterday.