Overview
Day-to-day patterns for building add-to-app features with the Inlay framework.
Inlay is LeanCode's opinionated Flutter add-to-app framework, built after we ran into the same problems on every enterprise add-to-app engagement. It takes on the parts of embedding Flutter in a native app that are tedious and easy to get wrong, so your team can focus on building the actual screens. Inlay gives you:
- Type-safe navigation between native and Flutter screens in both directions, with code-generated route classes for Dart, Swift, and Kotlin
- Cross-platform state sharing through a key-value storage layer synchronized across all Flutter engines and native code
- Automatic engine management built on
FlutterEngineGroup- you never create or dispose engines directly - Dialogs and bottom sheets rendered by Flutter and presented over native screens
- Multiple routing integrations - it works with go_router, auto_route, or plain pattern matching
Inlay is designed to map cleanly onto the patterns you would use in a pure Flutter app, so when you are ready to drop the native shell, exiting the framework is straightforward.
These pages are written for hands-on developers and AI agents working in an add-to-app codebase. They cover the concrete patterns, APIs, and recipes we use in production with Inlay.
Getting started
Packages, code generation, native init, and engine prewarming - the setup both features build on.
Navigation
Type-safe navigation between native and Flutter screens in both directions.
State management
Sharing state across native code and one or more Flutter engines.
Testing
Widget-test screens that navigate and use stores with the built-in fakes - no platform channels involved.