Features

Flutter OTA for your UI. Start free.

Duck focuses on one job: changing what your Flutter screens show after release, safely, through data your app already understands.

OTA UI updates

Publish a changed canvas and supported views in your shipped app render the new layout. No rebuild and no store review for configuration changes.

Visual builder

Duck Builder is a web app where you arrange components and save the result as JSON. Try it in the demo on the free tier.

Public component library

Start from built-in components: container, section header, hero card, small card, info display and table cell.

Custom components

Extend DuckComponent, write the widget, and register it with one map entry. Your app stays in control of what can render.

Remote configuration, not remote code

Duck sends data, not Dart code. A canvas can only use component types your installed app already knows.

One Flutter package

Add duck from pub.dev. It lists Android, iOS, Linux, macOS, web and Windows as supported platforms and is licensed Apache-2.0.

Loading, errors and refresh

DuckCanvasWidget fetches a canvas by id and handles loading and error states, with pull-to-refresh.

Unknown components degrade safely

If a canvas names a component type your app does not have, Duck renders a placeholder instead of crashing.

What Duck does not do

Duck updates UI layouts and configuration (JSON canvases). It does not change compiled Dart code or native code, so app logic, networking and business rules still ship through a normal app release. So do new component types; after that you configure them remotely. Start with the getting-started guide.