SlideShare a Scribd company logo
1 of 13
DEVELOPING KICK.AI
The long voyage to Flutterland
A wearable smart sensor for
martial arts
The parts
KickAI sensor
- Bluetooth Low Energy
- Custom protocol and
firmware
- Built with C
Mobile app
- iOS and Android
- Built with Flutter
- Native parts in Kotlin, Java,
Swift
The Cloud
- Backend in AWS
- Built with Elixir and
Phoenix
- Support for club & team -
level dashboards
Timeline
Sensor
- Detects kicks and related
metadata
- Provides raw kick data when
requested
App
- Games, user profiles,
leaderboards
- Tracks overall sessions and
understands context
- Uploads data to the cloud
BLE
App building blocks
● Some notable external libraries in use:
○ rxdart
○ redux
○ qrcode_reader
○ flutter_facebook_login
○ google_sign_in
○ …
● Our own secret sauce: kickai_sensor
Inside the app
Native code
Kotlin/Java/Swift
Flutter UI / Dart
App talks native
● All native code has been embedded under a custom flutter plugin
○ Separates concerns and makes it easy to collaborate
○ The example app of the plugin also acts as the prototyping and testing bench
● Communication is handled through Flutter’s MethodChannel
○ Passing simple strings and hashmap parameters
Kotlin and Android
Dart and Flutter
Swift and iOS
Testing and deployment
● How do we do it? Badly. Some unit tests exist but there is no CI/CD
● WIP
● NeverCode?
Feelings on Flutter
● After the initial hassle of integrating with native code Flutter has been a terrific
technology
● Fast to develop with
● Modular by design, using the same codebase for other apps is easy
● Dart as the underlying foundation feels like a good choice
THANK YOU
www.montel.fi

More Related Content

What's hot

Introduction of Dialogflow with google assistant and Artificial intelligence
Introduction of Dialogflow with google assistant and Artificial intelligenceIntroduction of Dialogflow with google assistant and Artificial intelligence
Introduction of Dialogflow with google assistant and Artificial intelligenceHarshil Barot
 
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...Infinum
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecturematthidinger
 
Best Of Build: Durable fuctions + SignalR Service + Cognitive Search
Best Of Build: Durable fuctions + SignalR Service + Cognitive SearchBest Of Build: Durable fuctions + SignalR Service + Cognitive Search
Best Of Build: Durable fuctions + SignalR Service + Cognitive SearchMoaid Hathot
 
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureBoldRadius Solutions
 
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...apidays
 
The Dark Side of Low Code – André Eriksson @ Encore.dev
The Dark Side of Low Code – André Eriksson @ Encore.devThe Dark Side of Low Code – André Eriksson @ Encore.dev
The Dark Side of Low Code – André Eriksson @ Encore.devMarcus Kohlberg
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameIndicThreads
 
Building an IoT Marketplace for Makers & Entrepreneurs
Building an IoT Marketplace for Makers & EntrepreneursBuilding an IoT Marketplace for Makers & Entrepreneurs
Building an IoT Marketplace for Makers & EntrepreneursCharalampos Doukas
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty MarketBill Dubie
 
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Justin Grammens
 
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...tdc-globalcode
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumit Kataria
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no AzureIgor Abade
 
Big Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your DataBig Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your DataMatt Stubbs
 

What's hot (20)

Introduction of Dialogflow with google assistant and Artificial intelligence
Introduction of Dialogflow with google assistant and Artificial intelligenceIntroduction of Dialogflow with google assistant and Artificial intelligence
Introduction of Dialogflow with google assistant and Artificial intelligence
 
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...
Infinum Android Talks #12 - Mastering a 3500 years old profession in an hour ...
 
E031202024029
E031202024029E031202024029
E031202024029
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 
Best Of Build: Durable fuctions + SignalR Service + Cognitive Search
Best Of Build: Durable fuctions + SignalR Service + Cognitive SearchBest Of Build: Durable fuctions + SignalR Service + Cognitive Search
Best Of Build: Durable fuctions + SignalR Service + Cognitive Search
 
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
 
Ionic
IonicIonic
Ionic
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
apidays LIVE Paris 2021 - Learning the Language of HTTP for a Better Data Exp...
 
The Dark Side of Low Code – André Eriksson @ Encore.dev
The Dark Side of Low Code – André Eriksson @ Encore.devThe Dark Side of Low Code – André Eriksson @ Encore.dev
The Dark Side of Low Code – André Eriksson @ Encore.dev
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Building an IoT Marketplace for Makers & Entrepreneurs
Building an IoT Marketplace for Makers & EntrepreneursBuilding an IoT Marketplace for Makers & Entrepreneurs
Building an IoT Marketplace for Makers & Entrepreneurs
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
Ring central sdk
Ring central sdkRing central sdk
Ring central sdk
 
siva prasad resume
siva prasad resumesiva prasad resume
siva prasad resume
 
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
 
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Arquitetura .Net How we figured out we had a SRE...
 
SumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststemSumitK's mobile app dev using drupal as base ststem
SumitK's mobile app dev using drupal as base ststem
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Big Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your DataBig Data LDN 2017: Using Conversational AI to Query Your Data
Big Data LDN 2017: Using Conversational AI to Query Your Data
 

Similar to Developing the kick.ai wearable sensor application with Flutter

Interesting Facts About Flutter
Interesting Facts About FlutterInteresting Facts About Flutter
Interesting Facts About FlutterFifium
 
Serverless Boston @ Oracle Meetup
Serverless Boston @ Oracle MeetupServerless Boston @ Oracle Meetup
Serverless Boston @ Oracle MeetupWayne Scarano
 
The Fn Project by Jesse Butler
 The Fn Project by Jesse Butler The Fn Project by Jesse Butler
The Fn Project by Jesse ButlerOracle Developers
 
Arputer overview 3413
Arputer overview   3413Arputer overview   3413
Arputer overview 3413arputer
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsSatya Harish
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Developer Network
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandTinaBregovi
 
Android Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKAndroid Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKRajesh Sola
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaRajesh Sola
 
Sean Kerr Resume
Sean Kerr ResumeSean Kerr Resume
Sean Kerr ResumeSean Kerr
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureICS
 
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...InfluxData
 
What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0WSO2
 
AGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE IoT
 
Pentesting iOS Applications
Pentesting iOS ApplicationsPentesting iOS Applications
Pentesting iOS Applicationsjasonhaddix
 
WSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2
 

Similar to Developing the kick.ai wearable sensor application with Flutter (20)

Interesting Facts About Flutter
Interesting Facts About FlutterInteresting Facts About Flutter
Interesting Facts About Flutter
 
Serverless Boston @ Oracle Meetup
Serverless Boston @ Oracle MeetupServerless Boston @ Oracle Meetup
Serverless Boston @ Oracle Meetup
 
The Fn Project by Jesse Butler
 The Fn Project by Jesse Butler The Fn Project by Jesse Butler
The Fn Project by Jesse Butler
 
Arputer overview 3413
Arputer overview   3413Arputer overview   3413
Arputer overview 3413
 
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutionsUplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
UplinQ - qualcomm® hexagon™ sdk optimize your multimedia solutions
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia SolutionsQualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
 
Why Flutter.pdf
Why Flutter.pdfWhy Flutter.pdf
Why Flutter.pdf
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to Algorand
 
Android Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADKAndroid Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory Protocol - Turn Your Linux machine as ADK
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Sean Kerr Resume
Sean Kerr ResumeSean Kerr Resume
Sean Kerr Resume
 
Fluent-bit
Fluent-bitFluent-bit
Fluent-bit
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...
Barbara Nelson [InfluxData] | Build, Ship, Repeat: Milestones for InfluxDB | ...
 
What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0What’s New in WSO2 IoT Server 3.1.0
What’s New in WSO2 IoT Server 3.1.0
 
AGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystem
 
Pentesting iOS Applications
Pentesting iOS ApplicationsPentesting iOS Applications
Pentesting iOS Applications
 
WSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2 IoT Server - Product Overview
WSO2 IoT Server - Product Overview
 

More from Montel Intergalactic

Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020
Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020
Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020Montel Intergalactic
 
Python types and doctests by Lauri Kainulainen
Python types and doctests by Lauri KainulainenPython types and doctests by Lauri Kainulainen
Python types and doctests by Lauri KainulainenMontel Intergalactic
 
DSLs for fun and profit by Jukka Välimaa
DSLs for fun and profit by Jukka VälimaaDSLs for fun and profit by Jukka Välimaa
DSLs for fun and profit by Jukka VälimaaMontel Intergalactic
 
Reactive programming with my little ponies
Reactive programming with my little poniesReactive programming with my little ponies
Reactive programming with my little poniesMontel Intergalactic
 
Cloud Infrastructure Modernisation Guide
Cloud Infrastructure Modernisation GuideCloud Infrastructure Modernisation Guide
Cloud Infrastructure Modernisation GuideMontel Intergalactic
 

More from Montel Intergalactic (6)

Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020
Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020
Why I love Elixir by Jukka Välimaa from Elixir Meetup 2/2020
 
Python types and doctests by Lauri Kainulainen
Python types and doctests by Lauri KainulainenPython types and doctests by Lauri Kainulainen
Python types and doctests by Lauri Kainulainen
 
DSLs for fun and profit by Jukka Välimaa
DSLs for fun and profit by Jukka VälimaaDSLs for fun and profit by Jukka Välimaa
DSLs for fun and profit by Jukka Välimaa
 
Reactive programming with my little ponies
Reactive programming with my little poniesReactive programming with my little ponies
Reactive programming with my little ponies
 
Cloud Infrastructure Modernisation Guide
Cloud Infrastructure Modernisation GuideCloud Infrastructure Modernisation Guide
Cloud Infrastructure Modernisation Guide
 
Flutter for web
Flutter for webFlutter for web
Flutter for web
 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Developing the kick.ai wearable sensor application with Flutter

  • 1. DEVELOPING KICK.AI The long voyage to Flutterland
  • 2. A wearable smart sensor for martial arts
  • 3. The parts KickAI sensor - Bluetooth Low Energy - Custom protocol and firmware - Built with C Mobile app - iOS and Android - Built with Flutter - Native parts in Kotlin, Java, Swift The Cloud - Backend in AWS - Built with Elixir and Phoenix - Support for club & team - level dashboards
  • 5. Sensor - Detects kicks and related metadata - Provides raw kick data when requested App - Games, user profiles, leaderboards - Tracks overall sessions and understands context - Uploads data to the cloud BLE
  • 6. App building blocks ● Some notable external libraries in use: ○ rxdart ○ redux ○ qrcode_reader ○ flutter_facebook_login ○ google_sign_in ○ … ● Our own secret sauce: kickai_sensor
  • 7. Inside the app Native code Kotlin/Java/Swift Flutter UI / Dart
  • 8. App talks native ● All native code has been embedded under a custom flutter plugin ○ Separates concerns and makes it easy to collaborate ○ The example app of the plugin also acts as the prototyping and testing bench ● Communication is handled through Flutter’s MethodChannel ○ Passing simple strings and hashmap parameters
  • 11. Testing and deployment ● How do we do it? Badly. Some unit tests exist but there is no CI/CD ● WIP ● NeverCode?
  • 12. Feelings on Flutter ● After the initial hassle of integrating with native code Flutter has been a terrific technology ● Fast to develop with ● Modular by design, using the same codebase for other apps is easy ● Dart as the underlying foundation feels like a good choice

Editor's Notes

  1. Black belt monkey testing