diff --git a/app/latin-ime/.gitignore b/app/latin-ime/.gitignore
deleted file mode 100644
index 2804d14..0000000
--- a/app/latin-ime/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-*.mojom.dart
-.jiri
-.packages
-.project
-.pub
-build
-packages
-pubspec.lock
-/out
-/third_party/flutter
-
-# OS and editor generated files
-*~
-.DS_Store
\ No newline at end of file
diff --git a/app/latin-ime/BUILD.gn b/app/latin-ime/BUILD.gn
index 17f05cf..d8f11c2 100644
--- a/app/latin-ime/BUILD.gn
+++ b/app/latin-ime/BUILD.gn
@@ -5,7 +5,7 @@
 import("//topaz/runtime/flutter_runner/flutter_app.gni")
 
 flutter_app("latin-ime") {
-  main_dart = "main.dart"
+  main_dart = "lib/main.dart"
 
   manifest = "pubspec.yaml"
 
@@ -24,7 +24,8 @@
     "//sdk/fidl/fuchsia.ui.policy",
     "//third_party/dart-pkg/git/flutter/packages/flutter",
     "//topaz/public/dart/fidl",
-    "//topaz/public/lib/app/dart",
+    "//topaz/public/dart/fuchsia_logger",
+    "//topaz/public/dart/fuchsia_services",
     "//topaz/shell/keyboard",
   ]
 }
diff --git a/app/latin-ime/OWNERS b/app/latin-ime/OWNERS
new file mode 100644
index 0000000..fcf586e
--- /dev/null
+++ b/app/latin-ime/OWNERS
@@ -0,0 +1,2 @@
+ejia@google.com
+brycelee@google.com
diff --git a/app/latin-ime/main.dart b/app/latin-ime/lib/main.dart
similarity index 83%
rename from app/latin-ime/main.dart
rename to app/latin-ime/lib/main.dart
index 3bccea8..c64a27a 100644
--- a/app/latin-ime/main.dart
+++ b/app/latin-ime/lib/main.dart
@@ -2,19 +2,19 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:fidl_fuchsia_ui_input/fidl.dart';
+import 'package:fidl_fuchsia_ui_input/fidl_async.dart';
 import 'package:flutter/material.dart';
 import 'package:keyboard/keyboard.dart';
-import 'package:lib.app.dart/app.dart';
-import 'package:lib.app.dart/logging.dart';
+import 'package:fuchsia_logger/logger.dart';
+import 'package:fuchsia_services/services.dart';
 
 class ImeKeyboard extends StatelessWidget {
+  final ImeServiceProxy _imeService;
+
   const ImeKeyboard({ImeServiceProxy imeService})
       : _imeService = imeService,
         super();
 
-  final ImeServiceProxy _imeService;
-
   void _onText(String text) {
     final kbEvent = KeyboardEvent(
       phase: KeyboardEventPhase.pressed,
@@ -66,11 +66,10 @@
 }
 
 void main() {
-  final context = StartupContext.fromStartupInfo();
-  var imeService = ImeServiceProxy();
-  connectToService<ImeService>(context.environmentServices, imeService.ctrl);
+  setupLogger(name: 'latin_ime');
 
-  setupLogger();
+  final imeService = ImeServiceProxy();
+  StartupContext.fromStartupInfo().incoming.connectToService(imeService);
 
   runApp(Theme(
     data: ThemeData.light(),
