This story begins in 2014.

At that time, crowd funding was a big hit and I financed many projects. One of them was Graffmap, a very cool streetart application.

Simple pitch, great ambition: using their mobiles, users 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.

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

You know the saying « Do not go gentle into the night »? 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 on the Web.

A couple of months later, a new 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 graffiti piece.
  • Search for a specific city and pinpoint on it.
  • Access a specific graff based on a custom URL.

Project takeaways

Technically speaking, I learned a lof from this side project. 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 discovered the power of geospatial queries in DB.
  • I used the Google Vision API to generate keywords from an image dataset.
  • I learnt how to deploy a Node app on a server.
  • I learnt how to resize, crop and make copies of images in JS.
  • I learnt how to read the EXIF metadata of images.
  • etc …

Where it’s getting interesting though it’s in term of project vision. Making this first MVP made me realize that maintaining a project like this would require many more people.

Talking about things that I clearly underestimated, I didn’t take the time to understand why the original Graffmap app failed. Being 100% focused on the technical challenge I made the error to jump straightaway into the code without having a clear product strategy.

The inherent challenges with streetart apps

Stepping back, what I can say is that launching a new app on the market is hard. After a little bit of research, I realized that there is already a lot of similar applications on the Apple and Play stores.

Pushing this investigation further I also dicovered that 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 if you don’t curate it by hand.
  • 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?

After finishing this first MVP it became clear that I would have to either spend more time on it or get more people involved. Given that none of these options were really on the table the question I asked myself was: How can I still 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 starting a new project.

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 this 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 👊.