The Adventure Starts!


I recently posted on LinkedIn to ask my connections which of ReasonML, Koltin or Flutter they’d be interested in for a new technical blog.  

The feedback was there is signficant interest in both Flutter and Kotlin so I’ve stupidly decided to build a reference example that uses both.

What Are You Going To Build?

Basically a solution for large scale Engineering teams to consolidate useful functionality into a single solution that can be

  • Consolidation of tool

High Level ArchitectureScreen Shot 2018-08-27 at 11.09.06

  • Flutter will be used to create the app.  Flutter programming language is Dart, there is some lobbying for Flutter to also support Kotlin
  • Kotlin will be used to write the supporting microservices, specifically utilising the Ktor web framework rather than Spring Booot to make it more interesting!
  • Neo4j will be used for the data persistence and to manage the highly connected data that will be required to create the functionality

What is Flutter?


Rather than repeating what is already well documented on the internet this video from Google provides a nice overview of Flutter.

Core Flutter Resources

Additional Flutter Resources

What is Kotlin?


There was no simple engaging video to explain what Kotlin, so rather the following key points have been summarised below:

  • TBC

You can read more about the state of Kotlin in this excellent article by Pusher that is posted here, in summary Kotlin is becoming hugely popular.

Core Kotlin Resources


Additional Kotlin Resources


Development Environment

Operating System

Having not developed on a Windows machine for approximately 5 years, all command command line snippets will only be tested and provided for OSX / Darwin.


For the IDE JetBrains IntelliJ 2018.2 will be used because IntelliJ

  • Natively supports Kotlin given it was developed by the JetBrains team
  • Supports Flutter development through the installtion of the Flutter and Dart plugins

Jetbrains IntelliJ CE Download

Kotlin & Ktor Installation