Orlando Policicchio and Markus Schwed, co-founders of CompanyMood, tell their story and how Scalingo help them develop the platform to increase employee satisfaction and retention with continuous feedback.
We are CompanyMood and we help companies to measure and increase employee satisfaction with continuous feedback. At the moment we have 400 registered companies from more than 20 countries. We enable them to measure employee satisfaction in different areas ranging from office environments, production facilities and gastronomy industry to retail stores.
My name is Orlando Policicchio, co-founder and CEO of CompanyMood. Before CompanyMood I was working the last 5 years as an online marketer and SEO. I’m responsible for marketing and sales at CompanyMood. I love to work on new content, product ideas and customer relationships. Working in sales for my own startup and an idea we strongly believe in, is amazing.
My name is Markus Schwed, co-founder and CTO of CompanyMood. As a developer with 8+ years of experience. I’m working on developing the best solutions for employee feedback and both, the companies and employees requirements. In my free time I like to be involved in open source projects and organizing the Ruby User Group Saar.
We are both deeply involved in product and business development. Together we find new ideas, networks, interesting features and decide which steps to prioritize.
We have 2 applications running on scalingo.
The first one are our “static” front web pages for our different languages. It serves:
The page is basically implemented with gulp tasks and pug which then runs a script to build all pages for each different language. It was an interesting challenge to get Scalingo to serve the right pages by domain. Therefore we needed to work tightly with the Scalingo support team which created a dev branch of their ngnix-buildpack to give the possibility to create a servers.conf.erb instead of nginx.conf to be able to setup server configs as well.
I.e. Nginx should have /app/builds/de as server root for www.company-mood.de domain which leads to configs like:
server {
server_name ~company\-mood\.de;
root "/app/builds/de”;
# …more configs
}
After we got this setup the deployment itself was quite easy: We created a simple script which builds all languages, creates a timestamped branch (i.e. builds/201612201205) and push it to Scalingo.
Our main application is a Ruby on Rails application running on ruby 2.3.2 and Rails 5.0.1 (to date the latest version) which schedules cron tasks with clockwork and process background tasks with Sidekiq workers. With the great support of Scalingo for Procfiles and the ruby buildpack, it was a piece of cake to setup the system that way.
We love the simplicity of Scalingo to create staging systems per feature which let us focus on the product itself.
Orlando Policicchio, CEO at CompanyMood
We use the awesome GitHub integration to deploy the system to Scalingo. Our workflow looks like: We implement our new features in own feature branches which get tested by Codeship after push to GitHub. If the tests are green, we deploy a staging system especially for that feature with the Scalingo GitHub branch-deploy-feature.
If everything is good, we merge it through GitHub into master, Codeship tests and Scalingo takes over to deploy it to production. We love the simplicity of Scalingo to create staging systems per feature which let us focus on the product itself.
We really appreciate that Scalingo is deeply engaged in data protection compliance.
Orlando Policicchio, CEO at CompanyMood
Besides, we really appreciate that Scalingo is deeply engaged in data protection compliance. For example, they are already compliant with the General Data Protection Regulation (GDPR). Their Data Processing Agreement (DPA) details where the personal data are stored on the plateform and who can access them. As we process a lot of personal and sensitive data, it's really important for us and fulfill our requirements for the german market.
At Scalingo (with our partners) we use trackers on our website.
Some of those are mandatory for the use of our website and can't be refused.
Some others are used to measure our audience as well as to improve our relationship with you or to send you quality content and advertising.