“Sitincator” – Simplificator’s Meeting Room Display


We have two meeting rooms at our Simplificator headquarter office in central Zurich. As they have opaque doors and no windows towards the aisle, it was often unclear whether a meeting room was occupied or not. Frequently, people opened the door and immediately apologized when realizing that there was an ongoing meeting. As an agile company we strive to reduce such nuisances and to improve our efficiency.

We, the “Smooth Operators” team, came up with an idea to improve the situation by mounting a display next to the door of each meeting room showing its occupancy. A 3-day retreat was planned to focus our efforts on this project.


We decided to use a Raspberry Pi 3 with its official touch screen display. This allowed us to not only display information, but to make the system interactive. We started out by brainstorming the functionality we wanted to provide to the user. Most importantly, it should be obvious whether the meeting room was occupied or not. Scheduled meetings of the current day should be visible and we wanted to provide the ability to make a “quick reservation”, i.e. anonymously book the room for 15 or 30min. This feature is quite useful if you want to have a short ad-hoc talk or a quick phone call. As we already schedule meetings in Simplificator’s Google Calendar, we fetch booking data from the Google Calendar API.

After defining the functionality, we created wireframes to clarify how many screens we would have to implement and what information and interactivity they should provide. We ended up having two screens: the main screen showing whether the room is free or busy and a screen showing all scheduled meetings of the current day. As the functionality and the screens were defined, our designer started to layout the screens and define its components graphically. We tested the design on the display of the Raspberry Pi regarding size and colors and performed quick user tests to finetune the behavior.

Each screen has several possible states (e.g. free and busy), so we decided to use an interactive web frontend technology. As retreats at Simplificator offer an educational component as well, we decided to create two versions of the app, one in React and one in Elm. To run the app in a kiosk mode on the Raspberry Pi, we chose to package our app with Electron.

After the three days of retreat we had two basic apps in React and Elm. For future maintainability we decided to go on with the React app. We mounted the Raspberry Pis and their display next to the meeting room doors, installed our app on them and tested for a while. We found some bugs to fix and improvements to implement. The app is now running quite smoothly and our meetings are free of disturbances!

If you want to rebuild this setup at your office as well, you find the required hardware components and a link to the app’s code below. Drop us a line and tell us how it is working out for you!



Source code of the Sitincator app: https://github.com/simplificator/sitincator

6 thoughts on ““Sitincator” – Simplificator’s Meeting Room Display

  1. Hi,

    I am trying to implement this very useful application on a raspberry pi zero w and a touch screen. I was able to follow the download instructions but when I ran the application it froze. I believe this is due to the google calendar I was using. Would it be possible for you to post or send to me an example version of a google calendar that works: the format?, how to differentiate between rooms?, does each room gets its own calendar?, etc. In addition, do you think its possible to run this application but instead of reading reservation information from a google calendar, read it from an excel spreadsheet? Could you please direct me to where in the code this is called?

    Thank you in advance,



    1. Hi Matt!

      About the freezing: Do you see anything in the logs or on the console? Maybe there is an error (e.g. that a configuration is missing). Sitincator accesses one specific calendar. If you have multiple rooms, you would need to run one Sitincator application per room (on separate devices). There is no `format` of the Google Calendar in that sense. We are using the Google Calendar API to get the data. It could be though that your configuration is wrong and Sitincator is not able to access the Google Calendar API.

      About reading from Excel spreadsheet: you would need to change the code in `src/gcal/client.js` and change the API invocations to read and write the Excel file.

      Hope that helps!


  2. Hi,
    I tried reinstalling Sitincator from github and when I try to run it, this error is displayed:

    bash: line 13: 18867 Illegal instruction

    Can you help with this?




    1. Currently this is not implemented. However, you could add this functionality on your own.

      You’d want to use the Office 365 Calendar API for that: https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations

      Within Sitincator, have a look at src/gcal. The file index.js handles the OAuth authentication and client.js provides functions to list and create events. Both files you need to adapt to use the Office 365 API.

      If the API is not using OAuth, you would also need to change main.js as that is calling the authorization code.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s