Color Trigger

Our client approached us with the need to develop a software to manage a lighting system for a shop window.

Their concept is for selling paint and showcasing how the rooms look like in different colors prior to the user buying the product.

Now they can add interactivity to their displays by changing the color of the rooms.

3 months


We developed this app using Ruby on Rails and integrated it with CueServer and Javascript.

require 'socket'

class CueServerCaller
  def initializer

  def call_macro(macro_name)
    execute_command "Macro #{macro_name}"

    def execute_command(command)
      config = CueServerConfig.last

      puts "*"*60
      puts "  === Executing command '#{command}' on #{config.ip}:#{config.port} ==="
      puts "*"*60

      # Create a new UDPSocket object
      s =
      s =

      # Connect socket to the CueServer multicast address and CueScript port number
      s.connect(config.ip, config.port)

      # Send the first argument of the command line (after the script name)
      s.send(command, 0)
require './lib/cue_server_caller.rb'

class Device < ActiveRecord::Base
  belongs_to :color
  validates_presence_of :x_pos, :y_pos, :width, :height, :color_id, :name
  scope :active_devices, -> { where( active: true) }

  def self.permited_params
    [:name, :x_pos, :y_pos, :width, :height, :color_id, :active]

  def send_cssend_command

    def macro

Our Process


We have weekly calls where we discuss progress. We use Skype, Google Hangouts or GotoMeeting.

We agreed on a day and time that worked for everyone.


In the beginning we send a timeline specifying the planning and tasks for that week.

These tasks are the same cards we have planned in Trello.


We translate all requirements into stories in Trello Cards.

Trello is the place to add any specification, ask questions or comments to the team.


Once the tasks are done they go through a testing process and we pass them for your approval.

Every week we will pass cards onto the client list for you to give us feedback.

Quality Assurance

Once the functionality is completed one of our functional testers will try to break the feature.

We either move it to Needs Improvement or pass it to you for feedback.


We need the support from you to review the cards and Approve them or tell us how to improve it.

This is key to meet goals and being on time in the development of the application.