custom sparkflow.dart ui