I think you could implement this with MapServer but it would take some configuration on your part. I can't find if MapServer generates a REST endpoint but if it does, you can add your data that way.
If you can spend the money then Tableau Software will do all the heavy lifting with just a few clicks.
If you have time and not so much of a budget then you can run your own mapserver and store data using postgresql. You'll need to find maps with corresponding shapefiles for zip code boundaries. This data is freely available in the States I believe. In Canada, I think it needs to be licensed through Canada Post.
ArcGIS and other geographical analytical software gives you a lot more flexibility in what you want to do but it's also prohibitively expensive if you're not attached to a university with a site license or a job willing to pay for it
ninja edit: Tableau doesn't have choropleth mapping yet but they do allow overlay of data by region on maps
tl;dr: For me it's practicality and philosophy, in that order.
It started for me at work for a county government (USA) 15-20 years ago.
I was a beginning developer doing geo-stuff using the typical local government Microsoft stack (asp, VB, similar horrors) and very expensive (our maintenance contract alone was 6 figures) proprietary mapping software. We released a web mapping app and discovered, in a very public way, that our proprietary mapping software's web product was a crashware turd. Of course we can't poke in this black box to see what's wrong, let alone fix it, and the vendor gave us a very official looking shrug. In desperation I ran across MapServer from the University of Minnesota. I didn't know anything about open source software, and I figured this free thing couldn't possibly do the job of our 6-figure crashware turd, but desperate times. Boy was I wrong. It was faster, perfectly stable, more functional, used open standards, and to top it off, it was much easier to use.
That kicked off everything. I learned about open source and its history, started using open source programming languages and tools, started contributing to other projects, started giving talks on open source geo at conferences, and eventually we (local government) started releasing our own open source projects on github. I use Linux (Manjaro) at home, and my dev environment is tmux/vim and a lot of nodejs/python/r work. Now I'm gaming with a AMD RX 560 with an open source driver, which blows my mind. And things get better faster. It isn't hyperbolic to say open source revitalized my career and my passion for programming.
I love the community and philosophy of open source, but what drew me and keeps me here is that for the things I want to do, open source software is better.
I think I know /a/ way - http://mapserver.org. If you give it a configuration file with the projections of the source image, and the way you want it projected, it will transform it. But, that's a roundabout way to do things. If you're a programmer, there's GDAL; GDAL Tutorial.
You might look into MapServer. Fairly easy to implement on a small server, Apache freindly, a little PHP-heavy for my taste (or at least it was when I set one up a few years ago), but that made it all the easier to learn & go.
I know, I've. written application like this, re-read my response, I addressed this exact case. Specifically high resolution rendering of satellite imagery to user defined projections which can take more than an hour if the image is very large and the map server is handling multiple requests.
Edit: http://mapserver.org/ if you're wondering
I don't know how useful this is, but here it is.
http://www.gjc.org/gjc-cgi/listjobs.pl
I took some GIS classes at Pitt and wanted to get into it but didn't. I personally got my job (non-gis related), in part, by showing them some work that I'd done on my own. I don't know the value of mapserver in the real world but if you learned it or part of it, it might be helpful. Just an idea.
http://mapserver.org/ http://hostgis.org/linux/wiki/index.php/Main_Page <- Linux distro setup and ready to go with mapserver and typical Linux, LAMP tools. Also has PostGIS too I think (spatial db interface to Postgres).