generate branch preview dynamically