Project Opsoro

Jun 22, 2017



OPSORO is and open platform for the creation of Social robots. They provide building kits for you to build your own robot friend which you can customize with a skin to make it your unique robot friend. Using the web platform that comes with it users can let their robot perform all kinds of tasks with different web apps, on the platform. For example you can make the robot cheer every time you get a Facebook like on a post.

Our task was to develop a new web app for the platform in an agile way. Our assigned task was to make a web app for the robot using IFTTT, but after we learned about the possibilities with IFTTT we decided to take it a step further and make it a personal assistant app. Users can let the robot perform certain tasks like play a song on Spotify or post a Facebook status using voice commands or giving commands via the web app similar to Amazon Alexa or Google assistant.

What's different from your regular Amazon Alexa or Google assistant is that this personal assistant can also show emotions:


The app

The OPSORO web platform is written in Python using the FLASK framework.


  • Link services to the robot via IFTTT applets (maker webhook)
  • Send commands to the robot to perform specific tasks. (via speech or dragging commands to the command queue).
  • Add your own commands via a wizard.
  • Customize robot interaction for the different commands.

Used Technologies

Summary of the most important used technologies:

  • Websockets
  • Webhooks
  • Bing speech API (speech commands)

Frameworks & libraries used:

These were the frameworks and libraries the Opsoro platform was using

  • Flask
  • Knockoutjs
  • Jquery
  • Jquery UI

Source Code


About me

My name is Sander Vervaeke and I’m a full stack web developer from Kortrijk, Belgium. I’m very passionate about programming and making things in general. Currently I work as a mobile, web and IoT consultant at delaware. Besides programming and being a maker, I also really enjoy cooking and fencing.

Copyright © 2021, Sander Vervaeke

Coded and deployed by me with ❤️