I think that computer technology could be used to draw districts which are both as geographically compact as possible, and equal in population, at the same time. But apparently this never happens.
My take on how districts should be done.
Use zip codes, county lines, city lines, natural boundaries like rivers and streams, man made boundaries like major freeways and railroads.
Then use the decade census for these areas and create the smallest compact areas with the smallest perimeter length and with the smallest difference between the most populated district and least populated district. I believe that mathematically there would be only 1 solution. It would take a computer to find it. Use the same formula every 10 years.