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
- Find the geometries / boundaries to plot. This can take some time for specific regions.
- Then you’ll need to match the geometries with your own data.
- 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).
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