Most Active Speaker

Kendi J

Kendi J

Software Engineer

Nairobi, Kenya

Actions

I'm a software engineer who enjoys solving problems and building cool things.
When I'm not working, I love soaking in the beauty of mountains and staying connected with awesome tech communities =)

Awards

  • Most Active Speaker 2023

Area of Expertise

  • Information & Communications Technology

Topics

  • Flutter
  • Firebase
  • Android
  • iOS Software Development
  • Software Develo
  • REST API
  • Firestore
  • GitHub

AR on Maps

Maps are a fascinating playground that truly tests the limits of our intelligence! But why stop there? Let’s dive deeper and take on a new challenge—a maps project with a touch of AR, all powered by Flutter. What could be more exciting than pushing boundaries and getting a little lost in the process?

In this session, we’ll explore how to integrate AR into Google Maps using Flutter as our UI toolkit of choice. We’ll get hands-on with accessing the camera and navigating the complexity of bridging to the native platform. So, if you're ready to lose yourself in code and creativity, join us for an adventure in augmented reality!

Unleashing Dart: Backend Brilliance

In the ever-evolving landscape of web development, Dart has transcended its Flutter origins to emerge as a powerful player in backend development. Join us on a concise exploration of Dart's backend capabilities, with a special focus on "Dart Frog" by Very Good Ventures.

In this talk, we'll unravel the simplicity and speed of Dart Frog, a minimalistic backend framework riding on the strengths of Shelf and Mason. We'll contextualize Dart's journey into backend development, touching on its versatility in routing, middleware, and templating.

Flutter's Platform Channels

In Flutter, platform channels provide a way to communicate between Flutter and the native platform (such as Android or iOS). They allow Flutter applications to invoke platform-specific code written in Java, Kotlin, Objective-C, or Swift, and receive responses or data from the native side.

Platform channels are used when you need to access device-specific APIs or perform tasks that are not available in Flutter's core framework.
In this session attendees will learn how to:
- Integrate Flutter with native code
- Leveraging native APIs and third-party SDKs
- Learning the usage of MethodChannels and EventChannels
- Handling asynchronous communication
- Best practices and considerations

Fire up your Flutter Apps with Firebase Emulator

In the fast-paced world of mobile app development, time is of the essence. As Flutter developers, our aim is to build feature-rich and reliable applications that delight users. However, testing our app's interactions with Firebase can be tricky without risking production data or incurring additional costs.

The solution? Firebase Emulators!

In this session, we will explore how Firebase Emulators can transform your Flutter development process. Whether you are a seasoned developer or just starting with Flutter, this session offers valuable insights and practical guidance to enhance your app development workflow.

Key points covered in the session:

- Introduction to Firebase Emulators: Discover the power of Firebase Emulators and how they enable seamless testing of Firebase interactions without impacting production data.

- Integrating Firebase Emulators with Flutter: Learn how to seamlessly integrate Firebase Emulators into your Flutter projects for efficient and safe testing.

- Continuous Integration with Firebase Emulators: Explore best practices for setting up continuous integration with Firebase Emulators, ensuring a smooth and reliable development process.

Join us and unlock the full potential of Firebase Emulators to take your Flutter app development to new heights!

Seamless Interoperability: Harnessing JNIGen and FFIGen

This talk dives into the world of seamless interoperability, unveiling the power of JNIGen and FFIGen in enabling direct access to native methods from Dart code. Unlike the current approach of using Platform channels in Flutter, JNIGen, and FFIGen allows us to achieve effortless access to native methods from Dart code. By eliminating the need for manual method handling and channel management, these tools revolutionize the development process. With practical examples and performance comparison, attendees will discover how JNIGen simplifies integration with Android libraries and JAVA classes, while FFIGen streamlines access to Swift and Objective-C libraries.

Functional Testing Strategies for Reliable Flutter Apps

Functional testing in the context of Flutter app development is a crucial phase that aims to ensure the reliability, performance, and user satisfaction of mobile applications. This involves the examination of an application's behavior by simulating user interactions and verifying the app's responses.

In this session I will outline the primary techniques employed in functional testing, including widget testing, integration testing, and end-to-end (E2E) testing. I will highlight their distinctive characteristics and illustrates how they collectively contribute to a comprehensive testing strategy.

Developing High-Performance Web Servers with Dart and the Shelf Framework

Dart is a programming language that's great for building the backend of web applications. One of its biggest advantages is that you can use it on both the front-end and back-end of your application, which saves you time and effort. Plus, Dart has a strong system for checking your code and finding errors early on. This means you can create stable, scalable applications that can handle lots of traffic.

If you're looking to build a web application with Dart, the Shelf framework is a great tool to use. It's a lightweight framework that lets you build web applications that are modular and easy to customize. With Shelf, you can add things like authentication and caching to your application without having to write all the code yourself. This saves you even more time and lets you focus on building the core features of your application.

Using Dart and the Shelf framework together is a powerful combination that lets you build web applications that are fast, flexible, and easy to maintain. By learning more about these tools, you'll be able to build your own web applications with confidence and take advantage of all the features and functionality they provide. Whether you're a beginner or an experienced developer, using Dart and Shelf can help you build better web applications that meet the needs of your users.

What developers will learn:
- They will learn how to use Dart Shelf to read and write files, connect to databases, and handle JSON data.
- The audience will learn how to use Dart Shelf with Flutter to create a complete client-server application.
- The audience will learn best practices for building web servers with Dart Shelf, including testing, deployment, and performance optimization.

Oh it's Flutter time!

Flutter 3.10, have you updated yet! What's the fuzz about it though?
Join me for an exciting exploration of Flutter 3.10, the latest version of the popular open-source framework for building beautiful, fast, and native applications for iOS, Android, web, and desktop.
In this session, I will delve into the new features, improvements, and bug fixes introduced in Flutter 3.10. We'll discover how these enhancements empower developers to create exceptional user experiences across multiple platforms with ease and efficiency.
Whether you're a seasoned Flutter developer or new to the framework, this session will provide valuable insights and practical examples to help you unlock the full potential of Flutter.

Maximizing Android App Potential with Flutter Pages

Sometimes developers may want to integrate Flutter pages into existing native Android apps. In this talk, I will explore how to add Flutter pages to native Android apps and how to add custom code to those Flutter pages running on Android.

I will start by discussing the benefits of using Flutter in conjunction with native Android apps, such as faster development cycles, better app performance, and improved user experience. Next, I will dive into the technical details of adding Flutter pages to native Android apps. This will include setting up the necessary dependencies, configuring the Android project to support Flutter, and creating the necessary plugins to communicate between the native and Flutter code.

Once we have successfully integrated Flutter into our Android app, I will then explore how to add custom code to the Flutter pages running in Android. This will include writing platform-specific code in Java or Kotlin to expose native functionality to the Flutter pages, as well as using platform channels to communicate between the native and Flutter code.

Throughout the talk, I will provide practical examples and code snippets to illustrate each step of the integration process. By the end of the talk, attendees should have a solid understanding of how to add Flutter pages to native Android apps and how to add custom code to those Flutter pages running in Android.

Fixing crashes with Crashlytics on Flutter

Sometimes we as developers build the perfect application and feel safe publishing it to production without knowing that some features are failing or giving the wrong output for some reason. But how do we ensure that we are aware of these crashes before our users use our apps? How do we know the extent of the crashes experienced by the users? How do we know exactly where these issues come from, especially in our codebase, so we can fix them?

In this session, I’ll show you how adding Crashlytics to your Flutter app can help you:
- get crash reports,
- identify devices that are crashing,
- track both fatal and non-fatal crashes,
- prioritise issues and fix them.

As a takeaway, you’ll have a deeper understanding of Flutter’s Fatal vs. Non-fatal errors, Crash Reporting with Firebase, Logs, Custom Keys, and Crash Insights.

Introduction to Flutter and ML Kit

Getting started with ML on a mobile app can be daunting. This session is meant to equip attendees to build a compelling Flutter app using ML Kit functionalities like face detection, regardless of their expertise.

Lessons from various State Management techniques in Flutter

State Management is a very controversial topic in Flutter, and many people people may agree to disagree on various techniques to use while managing state. Over the past one year I have tried several techniques and I would like to point them out for developers to understand the best techniques depending on the complexity of their apps.
This session will point out how easy or complex it is going about tests depending on a particular state management method chosen.

State Management using Provider in Flutter

This session is meant to explain what state management is in mobile app development and also point out its importance. I will point out various approaches to state management so as help developers know which approach best suits their development; and later on give a deep dive on Provider for sate management in Flutter.

Tracking Flutter app crashes with Firebase

Sometimes we as developers build the perfect application and feel safe to publish it to prod, without knowing that some features for some reasons are failing or giving the wrong output.

In this session, I’ll show you how adding Crashlytics to your Flutter app can help you: get crash reports, identify devices that are crashing, track both fatal and non-fatal crashes, prioritize issues and fix them. .

Testing Flutter Apps

Why do we need test?
As your application gets complex, there is the need to ensure that your app's features or functionalities do not break. In this session we will be taking you through the importance of Testing in Flutter Applications.

Roundtable - Future of Flutter

During the past Flutter Forward in Kenya, we discovered a glimpse of what is next for Flutter developers. Let's discuss with a panel of experts what lies ahead, from Dart 3.0 to impeller, we will discover the most anticipated news for the upcoming months

Flutter app crashes? Firebase to the rescue!

Sometimes we as developers build the perfect application and feel safe to publish it to prod, without knowing that some features for some reasons are failing or giving the wrong output. But how do we make sure that we are aware of these crashes before our users use our apps? How do we know the extent of the crashes experienced by the users? How do we know exactly where these issues come from especially in our codebase so we can fix them?
In this session, I’ll show you how adding Crashlytics to your Flutter app can help you: get crash reports, identify devices that are crashing, track both fatal and non-fatal crashes, prioritize issues and fix them.
As a takeaway, you’ll have a deeper understanding of Flutter’s Fatal vs Non-fatal errors, Crash Reporting with Firebase, Logs, Custom Keys and Crash Insights.

Flutter and AR in the Wild

Are you ready to take your app development skills to the next level? Flutter is the perfect framework for building cross-platform, native-looking Android, iOS, and web apps. And now, with Flutter's support for Augmented Reality (AR), you can create immersive AR experiences that will blow your users away.

In this talk, I show you how to get started with Flutter and AR development and share some of the fantastic AR apps that have been built with Flutter, more specifically, one of the wonders of the world, about the great wildebeest migration. I will also discuss the benefits of using Flutter for building AR apps and explore the future potential of Flutter and AR.

Whether you're a seasoned Flutter developer or just getting started, this talk is a must-see. Take advantage of the opportunity to learn about the exciting intersection of Flutter and AR!

FlutterBytes Conference 2024 Sessionize Event

November 2024 Lagos, Nigeria

Fluttercon Europe 2024 Sessionize Event

July 2024 Berlin, Germany

DevFest Kampala 2023 Sessionize Event

December 2023 Kampala, Uganda

Google DevFest 2023 Cape Town Sessionize Event

November 2023 Cape Town, South Africa

droidcon London 2023 Sessionize Event

October 2023 London, United Kingdom

Flutter Firebase Festival Sessionize Event

September 2023 Prague, Czechia

Google I/O Extended Kisumu 2023 Sessionize Event

August 2023 Kisumu, Kenya

Google I/O 2023 Extended Nairobi Sessionize Event

August 2023

Google I/O Extended Pwani 2023 Sessionize Event

July 2023 Mombasa, Kenya

Flutter Heroes 2023 Sessionize Event

February 2023 Turin, Italy

DevFest Bujumbura 2022 Sessionize Event

November 2022 Bujumbura, Burundi

Kigali DevFest 2022 Sessionize Event

September 2022 Kigali, Rwanda

DevFest Dar es Salaam 2019 Sessionize Event

November 2020 Dar es Salaam, Tanzania

Provider and MVVM in Flutter

This is a virtual meetup where I spoke about my views about State Management in Flutter and the MVM architecture and the approach to take.

July 2020 Kisumu, Kenya

Starting out your career in tech

I spoke about how you as a young developer can start a career in Tech, and how not to get stuck in the wide ocean of Tutorials!

July 2020 Nairobi, Kenya

Flutter Day Burundi

This was a global event by Flutter team where I spoke about introduction to Flutter to the developers in Burundi, as well as start a virtual Flutter Class.

June 2020 Bujumbura, Burundi

Kendi J

Software Engineer

Nairobi, Kenya

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top