Software and hardware for product configuration