Show and tell: Build beautiful maps in no time with MapFast

Dear community,

In June 2024 I wanted to build a side project. I came up with an idea to solve my own problem : making customized choropleth maps from data is a struggle. I wanted to have a tiny software that help me.

So I built MapFast, a dash app that does not look like the typical dash app: https://mapfast.co


WHY

If you create a choropleth map with Python or R, you’ll need to

  1. :slight_smile: Find the geometries / boundaries to plot. This can take some time for specific regions.
  2. :yawning_face: Then you’ll need to match the geometries with your own data.
  3. :sob: After this, you often get a map that is somehow really hard to modify with code : changing labels position, adding a customized title, with customized colors… Good luck.

On the other side, professional software like QGIS or ArcGIS is too complex for simple choropleth maps.
There must be a “between”. That’s why I built MapFast.

UNDER THE HOOD

Building this app gave me the opportunity to try out dash-mantine-components instead of dash-boostrap-components. I also used a lot of clientside callbacks (about 50% of my code is JavaScript for the map interaction). These clientside callbacks interact with Fabric.JS, that enable SVG manipulation and canvas drawings.

OUTCOME

I learned a lot in the process. It was really satisfying to see that I could do a nice looking app with Dash.
It strengthens my belief that Dash can be used for full SaaS. (Which I also experienced on my main company).

I also learned how complicated it can be to have all geometries simplified properly, that there is no universal dataset of geometries for all regions and all levels. I realized that not adding islands or small territories can really hurt the feeling of some people. I discovered the need for point of view maps (i.e. for debated territories).

As a side project, the app is still buggy. A lot…
But it works, and I could make maps that I am proud of. Below are some examples.

EXAMPLES

WHAT NEXT ?

I am actually struggling to get feedback on this. I don’t know if it can be useful and for who.

I suspect that it is still too complicated to use and/or people just want their map without the need for customization.

Some raw ideas I have:

  • add different point of views
  • embbedable dynamic maps
  • automated normalization (e.g. per capita)
  • other type of maps (e.g. point map, bubble maps).

:pray: It would be amazing if you could try it out and tell me how was the experience.

Direct link to the app : https://app.mapfast.co
Thank you,

François

6 Likes