I built the full stack by hand. The iOS is Obj-C and the backend is NodeJS/MySQL.
Basically, the MySQL DB has checkin data (provided by users or from social media networks) pivoted on metadata (male, female, age) and then passed to a custom visualization algorithm on the mobile device.
Maybe that forced Snapchat to spend more money? :)