You could use WP_Query for your basic loop (sorted by custom field ‘start_date’) like this:
$args = array(
'post_type' => 'your_custom_post_type',
'posts_per_page' => -1,
'meta_key' => 'start_date',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$wp_query = new WP_Query( $args );
while( $wp_query->have_posts() )
{
$wp_query->the_post();
// now use get_field() for custom fields
}