Jurriaan Persyn
CTO & Co-founder | Clarabridge
Recent Tech Decisions
98 points


  • Sketch

    #<User:0x00007f9eca9da038> Web Application Stack

    Used for all mockups of new & improved features. Discussing Sketch files happens via InVision, creating style guides of Sketch files via Zeplin.

  • PHPUnit

    #<User:0x00007f9ecf4dd440> Web Application Stack

    Used for unit tests and integration tests of our main PHP code base.

  • vowpal-wabbit

    #<User:0x00007f9ee1666598> Web Application Stack

    Vowpal-Wabbit powers our online-learning prediction engine, that suggests our users replies to send out, and labels to add to their data, based on previous behavior by that user.

  • Embedly

    #<User:0x00007f9ed348f5e8> Web Application Stack

    Helps us in showing thumbnails & detailed images for urls found in tracked social data.

  • D3.js

    #<User:0x00007f9eca6502a0> Web Application Stack

    Several of the visualisations in our Insights pages use D3.js as their engine.

  • GlusterFS

    #<User:0x00007f9ed5299750> Web Application Stack

    Used a distributed filesystem to have files available on several machines. E.g. used for uploading images to the supported social networks from an array of worker nodes.

  • Server Density

    #<User:0x00007f9ed2575648> Web Application Stack

    Used as main Server Monitoring (load averages, system metrics) and App Monitoring (via custom plugins) tool. Both for graphing data as for sending alerts.

  • BrowserStack

    #<User:0x00007f9eb7268920> Web Application Stack

    BrowserStack is used by our development and support teams during QA and to try and reproduce bugs.

  • HAProxy

    #<User:0x00007f9e8f5ae800> Web Application Stack

    We use HAProxy to load balance web requests for our web application, but also for some internal load balancing of microservices.

  • Kibana

    #<User:0x00007f9e9b5d7a50> Web Application Stack

    Used for graphing internal logging data; including metrics related to how fast we serve pages and execute MySQL/ElasticSearch queries.

  • InVision

    #<User:0x00007f9e9b545678> Web Application Stack

    All wireframes & mockups for new features & updated features are stored, commented & revised via InVision.

  • Twilio

    #<User:0x00007f9e9b49e8c8> Web Application Stack

    We're using the Authy service of Twilio to support 2FA for our web application.

  • Socket.IO

    #<User:0x00007f9e9a7f84c0> Web Application Stack

    Used for sending real-time updates to connected browsers; to give real-time feedback about e.g. messages assigned to you, resolves in the inbox, etc.

  • RabbitMQ

    #<User:0x00007f9e9a6a1ab8> Web Application Stack

    Used as central Message Broker; off-loading tasks to be executed asynchronous, used as communication tool between different microservices, used as tool to handle peaks in incoming data, etc.

  • Memcached

    #<User:0x00007f9e8f4ef748> Web Application Stack

    Used as simple key-value cache store. To store query results etc.

  • Elasticsearch

    #<User:0x00007f9e99d0de20> Web Application Stack

    All social data we track is stored in ElasticSearch to make it easily searchable and for advanced statistics. Our several ElasticSearch clusters hold several billion social messages.

  • Jenkins

    #<User:0x00007f9e99bbf280> Web Application Stack

    Used for continuous integration; e.g. running unit tests before deployment and of open GitHub Pull Requests.

  • React

    #<User:0x00007f9e99e90db0> Web Application Stack

    Powers the more advanced aspects of our front-end interface, esp. the real-time inbox.

  • Redis

    #<User:0x00007f9ea127d340> Web Application Stack

    Used as a caching layer (when we need more functionality than simple key-value storage); keeping lists of online users, used for our smart-assigning feature, keeping track of sliding-window rate limiting information.

  • MySQL

    #<User:0x00007f9e99d79cd8> Web Application Stack

    Used as main storage for user settings, account settings, etc. (Our social data itself resides in ElasticSearch.)

  • Slack

    #<User:0x00007f9ea0d75cf8> Web Application Stack

    Used as main communication tool for the whole team.

  • Node.js

    #<User:0x00007f9ea13c3178> Web Application Stack

    Used for sending real-time notifications to connected browsers.

  • GitHub

    #<User:0x00007f9e99be6da8> Web Application Stack

    GitHub's git repositories, issues database (for tracking bugs & possible improvements) and pull requests (for peer reviews of code) are all used extensively.

  • PHP

    #<User:0x00007f9ea1452f80> Web Application Stack

    PHP powers 90% of our application; both rendering the front-end, as the background processes (data capture, processing, etc.)