Oocsi
OOCSI – a simple systems-interaction fabric for designers
Install / Use
/learn @iddi/OocsiREADME
Welcome to OOCSI!

The OOCSI mission is to create a simple systems-interaction fabric for use by designers in academia and industry.
OOCSI is a prototyping middleware for designing distributed products and it is targeted mainly at Industrial Design and Computer Science education. OOCSI supports multiple client platforms that allow prototyping connected products and systemic designs with various heterogeneous components from embedded to mobile to the cloud. In the past years, OOCSI has been used by hundreds of students, educators, and researchers, and it is continuously developed as an open-source project with feedback from the community.
There are many cases that OOCSI can support connected prototyping and communication between devices and platforms. For example, connecting a sensor on an embedded platform to a data logger or visualisation on a mobile device. Or connecting the sensor to other devices in the same context to share data within a local system. Using OOCSI is very simple and we have example code that covers many application cases.
Getting started
Our wiki explains how to get started. Essentially, you need a server (or run your own) and then pick a client implementation for the platform that you are prototyping with (see below). For example, if you are designing a prototype based on an ESP32 and you would like to send data from this prototype to a Processing sketch to visualize the data, then you need to check out OOCSI for ESP and OOCSI for Processing to get started.
Supported platforms
OOCSI supportes connected prototyping for the platforms or programming languages below. All repositories below have introductory information about how to connect to OOCSI.
- Processing (GitHub repository)
- Java/Android (GitHub repository)
- Python (GitHub repository)
- Micropython (ESP) (GitHub repository)
- Javascript (HTML/Web) (GitHub repository)
- Javascript (Node.js) (GitHub repository)
- Arduino/ESP (via Arduino IDE) (GitHub repository)
Find more information on client support here. If you don't see what you looking for, contact us or create an issue with a feature request. Also, implementing your own platform client for OOCSI is straightforward, check the existing clients or the protocol for more information.
Cite as
Funk, Mathias. (2019, May). OOCSI. Zenodo. http://doi.org/10.5281/zenodo.1321220
BibTex
@misc{funk_mathias_2019_1321220,
author = {Funk, Mathias},
title = {OOCSI},
month = may,
year = 2019,
doi = {10.5281/zenodo.1321220},
url = {https://doi.org/10.5281/zenodo.1321220}
}
Related Skills
diffs
344.1kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to

