October 1, 2024

Project lead: AiO Integration
Project lead:  AiO Integration — 1

Overview

Integration futuristic coffee roaster to all company appication and service

Key Features

  • Data Structure: Working with the Firmware team to design and implement a data stream for every component and sensor
  • Display and Command: Design how to control and display the roast chart of AiO, the data-driven coffee roaster, by cross-platform desktop apps, from UI (Vue.js) to send the command through the communication layer (Golang) 
  • Integration: Make the new roaster able to collect the roast profile, automatically sync data to the cloud, use the roasting recipes, and exist on the company dashboard website Roast.World
  • Took a flight to the head office in Taiwan with the team to set up the showcase machine at the showroom

Technologies Used

  • Vue.js (Typescript): For simplifying code style and real-time user interaction
  • Golang: use for a performance module, use as a C wrapper, and be the main package parser for this project
  • Electron: wrapper for all services to run as cross-platform desktop apps
  • Websocket: the communication method for internal service, and RestAPI for the sync
  • Firebase: as the main source of truth for the sync system
  • Vitest/Playwright: the project included unit tests, some user testing cases, and hardware integration tests
  • Figma: designing the UI by following the company handbook, and creating UI for prototypes

Challenges and Learnings

The key challenge was the machine using a new MCU (Microcontroller Unit), a custom controller board, a lot more sensors, and new firmware, which changed a lot of communication protocols and data exchange between the device and the application. Additionally, setting up effective collaboration workflows between software engineers, mechanical engineers, and firmware engineers using a basic Excel file with a good meeting to set the protocol greatly improved the process and development experience.

Outcome

The machine is now actively working with RoasTime (cross-platform desktop apps) in the Taiwan showroom and the Europe Branch in Copenhagen, Denmark. To show how it's working for our customers and everyone who visits our head office. Make a mechanical team able to work faster with the data and logging from the application. It has become a foundation for Bullet R2 and Bullet R2 Pro, which have similar features with a smaller size.