Cover image for Binary Analytics

Binary Analytics

helps companies improve their performance, while helping staff improve their skills. This is achieved by collecting customer satisfaction data in a non-intrusive way and analyzing it. Based on that data, and with the help of the platform, companies can create gamified learning exercises for their employees to enhance their skills. Employees can challenge each other and create a healthy competitive atmosphere.

Published: February 15, 2025
Industrial IoT Automation Machine Learning Manufacturing
Visit Project
Cover image for Binary Analytics

Case Study: Binary Analytics - Engineering a Data-Driven Performance Terminal
Company: Binary Analytics Inc.
Location: Lebanon - France - Canada
Website: https://flat6labs.com/Company/binary-analytics/

Process

We partnered with Binary Analytics, a visionary company dedicated to enhancing workplace performance, to bring their innovative concept to life. Their goal was to create a "virtual consultant" platform that closes the loop between customer feedback, data analysis, and targeted employee training. The cornerstone of this vision was a physical terminal for collecting real-time customer satisfaction data. Our role was to engineer the embedded software for this critical hardware component.

The Challenge: From Agile MVP to a Market-Ready Product

The project was divided into two key phases. The initial challenge was to rapidly develop a Minimum Viable Product (MVP) to validate the concept and hardware. This required creating a robust kiosk application that could communicate securely with the Binary Analytics server, authenticate users via RFID, and provide clear visual status indicators on a cost-effective device.

Following the MVP's success, the second phase focused on evolving the prototype into a scalable, market-ready product. This evolution was prompted by the client's own backend technology overhaul and the need for a more powerful, feature-rich user experience with enhanced animations and remote configuration capabilities.

Our Process & Solution: An Adaptive, Two-Phase Approach

Our team embraced an agile and adaptive development process to meet the unique challenges of each phase.

Phase I: The Agile MVP

For the initial prototype, our primary goal was speed and functionality. We began development based on preliminary hardware discussions. However, to maximize cost-effectiveness, the final hardware selected was the Raspberry Pi Zero. This ultra-compact device presented a unique technical constraint: its architecture was not directly compatible with our initial technology choice.

Our Pivot: Faced with a tight deadline, we demonstrated our team's versatility by rapidly re-engineering the application. We strategically pivoted to Python and PyQt, a robust combination perfect for the Raspberry Pi Zero's environment. This quick thinking and technical flexibility allowed us to deliver a fully functional and stable MVP on schedule, meeting all core requirements.

Phase II: The Enhanced V2 Product

Learnings from the MVP and a client-side backend upgrade to NodeJS provided the perfect opportunity to build a next-generation terminal. The hardware was upgraded to the more powerful Raspberry Pi 3B, which removed the previous constraints and opened the door for a richer user experience.

Our Enhancements: We architected the new system from the ground up using Electron JS, which allowed for modern, fluid animations and a sophisticated user interface. This phase involved more complex technical requirements, including:

Advanced Concurrency: Implementing web workers to handle multiple background tasks, such as server synchronization and hardware monitoring, within Electron's single-threaded environment.

Dynamic Configuration: Building a system where the terminal's UI and behaviour could be configured remotely from the client's server, allowing for incredible flexibility.

Hardware Integration: Developing low-level software to monitor battery status via I2C communication with an Arduino chip and creating power-saving scripts to optimize performance.

Collaborative Development: Working in a parallel development cycle with the client’s new API. We maintained constant communication and collaboration, ensuring seamless integration and effectively managing regression bugs as the API evolved.

The Outcome & Impact: Commercial Confidence and Scalability

The initial MVP was met with great satisfaction, validating the concept and securing our continued partnership for the product's next evolution.

The outcome of Phase II was a resounding success. We delivered a polished, scalable, and feature-rich terminal ready for market deployment. The client's confidence in the final product was demonstrated by their immediate order for 30 additional units to be used in a pilot program with their potential customers. This represents a significant step from a prototype to a commercially viable product, proving the project's ultimate success and value.

Technology Stack

Languages & Frameworks: Python, PyQt, JavaScript, NodeJS, Electron JS

Hardware: Raspberry Pi Zero, Raspberry Pi 3B, Arduino

Protocols & APIs: REST APIs, I2C

Environment: Linux (Raspbian), Embedded Systems