A Map of my Mentees

Published May 03, 2017Last updated May 04, 2017
A Map of my Mentees

It's so nice to talk with people from different countries, different cultural backgrounds, and different beliefs and philosophies, with one common goal — to learn to code or simply to get a bug fixed in their existing app.

I do this tirelessly on Codementor.io. And I do it from random places: my home, in the mountains, under the trees, on buses etc. All I need is a good enough Internet connection (mostly, via my phone's Hostspot) and a laptop.

A few months ago, an idea popped into my head: I know my mentees all come from different parts of the world, but wouldn't it be cool if I could visualize where they're all from?

TL;DR

Here's a map that shows where all my mentees are located (you can click on the image below):

A short story

I asked the Codementor team to send me the data I needed: a table containing my mentees' anonymized user ids and their country of origin, one row for each session I had.
At first, they were happy to send me the time zones table, but not the countries of origin.

Even though I explained what I needed the data for, they were still quite cautious in giving it to me (which is understandable, given how professional the Codementor team is!). ❇️

Thankfully, it didn't take them too long to decide it was appropriate to share the data with me! I got what I wanted and needed: a boring CSV file that looks something like this:

id,country
223102,United States
21232,United States
45481,United States
28186,Australia
32239,United States
223510,Denmark
215425,Canada
...

The first column is the id, which is unique for every user, and the second column is the country that the user had the session from (detected using the IP address).

The main reason for anonymizing the user ids is to preserve the mentee's privacy (I'm not interested in visualizing their identity on the map). However, I do want to know how many sessions I've had with a specific mentee. Hence, the anonymized user ids. 👥

Now, the CSV file might look boring, but it's not so boring once we plot the data on the map — the data was instantly transformed into a fascinating map you can explore:

I was quite excited to see the countries my mentees are from. As expected, America and the U.K. are on the top of the list. Australia came in pretty close as well! ✨


If you are a mentor and are interested in building a similar map to mine, you can check out the source code on GitHub and populate your map with your own data (btw, if you follow me on GitHub, you will get notified when I create new cool projects). 😊

I used Datamaps and d3.js (which is actually a dependency) to build the maps. 🌍

In case you missed it, here's a blog post about what I'm doing: The Joy of Being a Mentor. 📝

Discover and read more posts from Johnny B. (Ionică Bizău)
get started
Enjoy this post?

Leave a like and comment for Johnny

17
13
13Replies
Shivam Mathur
4 months ago

Hi Ionică. I created a fork of your project to map my mentees. Although I have just started on codementor and have much less mentees than you. It was fun creating though.
https://github.com/shivammathur/codementor-mentees

Johnny B. (Ionică Bizău)
4 months ago

Nice! :)

Ricardo Zea
4 months ago

Awesome!

So, how do we implement this same map ourselves? Would you be open to write a simple tutorial?

Johnny B. (Ionică Bizău)
4 months ago

Yes, I will write one soon! Currently you do need to ask the Codementor support to provide that CSV file (maybe you can do that in the meantime). :)

Jorge Vazquez
4 months ago

It would be great if Codementor had an API we could query for all sorts of data like this live!

Johnny B. (Ionică Bizău)
4 months ago

They are working on exposing data via a rest API. :-)

Jorge Vazquez
4 months ago

Can’t wait! A Codementor API has been needed for a long, long time.

Show more replies

Get curated posts in your inbox

Read more posts to become a better developer