How we use Slack @ Chicisimo

Pedro Giménez
Building Chicisimo
Published in
3 min readJan 21, 2015

TL;DR: Slack and Heisy help us to build the most amazing mobile fashion experience: an app that gives women tons of new what-to-wear ideas, every day. Go check it out!

Here at Chicisimo (check our fashion iPhone app) we loved Campfire. Now we are BIG fans of Slack. It’s been a huge step forward at keeping the team coordinated and well communicated.

Introducing Heisenberg

Heisenberg is the bot we use here at Chicisimo to make our daily lives easier and funnier. It’s powered by Hubot.

It enables us to transform heavy opaque tasks into light totally transparent tasks with just a chat message. We’ve written a couple of hacks to make everything A WHOLE LOT easier, like shipping to production. We’ve been using them for a year so we thought it was time to talk about it.

Shipping to production

We wanted to make the release process crystal clear for the whole team as we think that’s a must to have everybody on the same page so we wrote a hack that lets you ship to production with the help of Heisy and Slack.

This has loads of benefits; being a remote team, Slack is our office (for real, we don’t have a physical office anymore). It lets us know what’s going on every moment. If @miguel ships an awesome feature and suddenly we start seeing weird spikes on graphite we can correlate that to the feature @miguel just shipped and start working on the fix. Also, it let us track the progress everyone is making in an organic and transparent fashion.

How does it work? Internally, Heisy keeps track of our cluster and issues Chef commands to it in order to cook the recipe on the corresponding server.

Every time we cook the recipe, Chef fetches the latest code on master and deploys it to the cluster with zero downtime. UNIX ❤.

We use it to deploy everything, from our API to the brand-new web @juanxo is working on.

Webscale

After adding the ability to ship to production, we wanted to allow anyone on the team to add or remove servers to the cluster.

This way, we can add servers in just 5 minutes when we have traffic spikes and remove them when everything looks calm. This is also useful when there is a problem on production, as we can remove individual nodes from the cluster to debug ‘em.

--

--