Mobile Developer at Deloitte, Milano
I am currently leading the development of a new cross-platform IoT app in Flutter for iOS and Android at Deloitte,
connected to the latest coffee machines of a renowned Italian manufacturer.
As the lead mobile developer, I coordinate an international team of 6 mobile developers,
handling code reviews, architectural decisions, and supporting the team in solving complex issues.
The app communicates with the coffee machines via AWS IoT Core, utilizing
WebSocket for LAN-to-LAN communication and MQTT via the cloud.
To ensure seamless interoperability, we developed two native modules in Kotlin and Swift:
ApplianceKit – for direct communication with the coffee machine
IdentityKit – for user authentication
We integrated these modules into the Flutter app through custom Flutter plugins that we designed and implemented.
Technologies Used
State Management: BLoC
Dependency Injection: GetIt
Networking: Dio, Retrofit
Code Generation: Freezed
Navigation: AutoRoute
Unit Tests: bloc_test, executed in Jenkins CI/CD pipeline
Scalable and Modular Architecture
We designed a scalable and modular architecture, separating business logic from UI using BLoC
and managing dependencies with GetIt. The project follows Clean Architecture principles, with a
well-structured modular approach, dividing the codebase into core and feature layers while adhering to
SOLID principles and design patterns.
Performance Optimization & Security
A strong focus was placed on performance optimization and security, particularly in the LAN-to-LAN WebSocket communication
and MQTT over the cloud. We implemented industry best practices, including Security measures: Certificate pinning, Frida detection, rooting & emulator detection, and other security enhancements
Strategic Contributions & Team Leadership
Beyond development, my role involves:
Technical analysis and effort estimation for new features and projects
Mentoring junior team members, ensuring knowledge sharing and team growth
Code reviews, refactoring, and bug fixing, maintaining high-quality code standards
Daily collaboration with stakeholders, including product owners, testers, designers, backend, and firmware teams, including Deloitte and the client's streams
Main features of the app
Coffee and coffee drinks brewing;
Bean adapt, to automatically set the params of the brewing based on the specific coffee bean and user preferences;
Turning the Coffee Machine on and off;
Coffee Machine status monitoring;
Coffee Machine cleaning;
Coffee Machine settings;
Coffee Machine firmware update;
Sharing of Coffee Machines between several users
Add, removal and modification of coffee beans in user's Coffee Bean Inventory;
Buy Coffee Beans or Coffee Machine Accessories (e-commerce);
View the history of the coffee drinks brewed and machine statistics;
Push notifications;
Coffee Taste Quiz, FAQ, Customer Support, Magazine, Google Maps...
December 2023 - Present