This story begins in 2014. At that time, Kickstarter was huge and I remembered that I financed a couple of projects via this platform. One of them was Graffmap, a very cool streetart app.

Simple pitch, great ambitions: through their mobile, people would geolocalise themselves and find the closest streetart pieces.

After a successful kickstarter campaign, the app was launched and hundreds of people from all-around the world started to post pictures.

Nevertheless, good things never last long. In May 2017, I received an email from Simon (the founder of Graffmap) saying that the service was going to shut down. Sacrebleu!

You know the saying « Do not go gentle into the night » right? Well, that’s exactly what I said to myself: I sent back immediately an email asking if I could get access to the database to reboot the project.

A couple of months later, a new Web version of Graffmap was born.

Here is a glimpse at the list of features it provided:

  • Explore a global map and easily visualise the graffs.
  • Find the closest streetart piece around you.
  • Get more info about a particular graff.
  • Search for a specific city and pinpoint on it.
  • Access a specific graff based on a custom URL.

What I learned

Technically speaking, this side project helped me a lot improving my coding skills. For instance:

  • I learnt how to design a Node JS app at scale.
  • I learnt how to use MongoDB and structure a database properly.
  • I discover the power of geospatial queries in a DB.
  • I used the Google Vision API to generate keywords on an image dataset.
  • I learnt how to deploy a Node app on a server.
  • I learnt how to resize, crop and make copy of images programmatically.
  • I learnt how to read the EXIF metadata of images.

Where it’s getting interesting though it’s in term of project vision (spoiler alert, I really fucked up).

Making this first MVP made me realise that maintaining a project like this would require many more people.

Talking about things that I clearly underestimated, I also didn’t take the time to understand why the original Graffmap app failed. Being literally obsessed by the technical challenge I made the error to jump straightaway into it without analysing what I should really be focusing on.


The challenges with streetart images

After a little bit of research, I realised that there is already a ton of applications that are listing streetart (so a lot of competition).

Something else I did not anticipate: streetart is a very special kind of field!

  • Because Art is by definition subjective, people will have different opinions about what to upload to the platform. So, at scale, it’s very hard to maintain a good quality on the overall content.
  • The fact that streetart is ephemeral is not helping either, and a ton of manual work is required to keep up to date the database (ie it’s very hard to automated this task).

What’s next?

Moving on, the real question I asked myself after this was: How can I make this project a success?

And my conclusion was pretty immediate: open sourcing it!

Looking online, I didn’t find any other data source for geolocated streetart. So, my assumption here is that it would be particularly helpful for somebody interested in this field.

Thus, with the agreement of Simon, I decided to open all the data collected on Graffmap (see this repo for more info).

In a similar way, I also open sourced the code of my first MVP in case somebody would like to use it.


If I could come back in time, I would probably try to better understand what kind of questions I am actually answering with this side project. I would probably also discuss and get feedback from other people earlier on.

As a final note, I would like to address a huge « thank you » to Thomas Parisot, Geoffrey Dorne and Simon Landry who really helped me structured my thoughts 👊.