client side buid process