Welcome to the first update of my build-in-public journey for Shipaton 2026 by Revenuecat!If you’ve ever played around with generative AI, you know that the real magic happens when you chain models together: generating an image from a prompt, converting that image into a video, synthesizing a voice script, and combining them into a final ad or video. While tools like ComfyUI make this easy on desktop, mobile creators are left out.My mission with Pocketflow is to change that: bringing a powerful, node-based generative AI workflow editor right to iOS and Android.To build this natively on both iOS and Android without having to maintain two separate codebases, I will be going with Compose Multiplatform. But before starting my project, I spent this week doing a sanity check: Can Compose Multiplatform actually handle this? Here is the plan and the features I figured out that will make this work:1. Navigating the Infinite Canvas — Honestly, I was terrified of having to build the drag-and-drop node graph UI twice. But I spent the week reading up on Compose Multiplatform’s Canvas API and gesture detectors like detectTransformGestures for handling panning and pinch-to-zoom. By connecting the dots between those APIs and drawing Bezier curves between node coordinates, I realized I can build the entire node-editor interface once in shared code and have it render natively on both iOS and Android.2. Tackling the Heavy File Problem — AI generation produces heavy files (MP4s, PNGs, MP3s). The default cache directories on mobile are temporary and get wiped on system restarts. I need a way to save these assets persistently. I figured out that I can abstract the local file system using Kotlin Multiplatform’s expect / actual declarations. The shared logic will just call a simple save function, but compile-time actuals will route it to the persistent NSDocumentDirectory on iOS and filesDir on Android:In commonMain (Common Code)expect object LocalStorage { fun saveMediaToTemp(bytes: ByteArray, extension: String): String } In iosMain (iOS side of the bridge)actual object LocalStorage { actual fun saveMediaToTemp(bytes: ByteArray, extension: String): String { // Grab iOS Document directory and write raw bytes... } } 3. Bringing in Native SDKs (OneSignal & Share Sheets) - Since rendering videos via AI takes time, I want to trigger push notifications when the generation is done. However, push notifications require native setup.I figured out that I don’t need a pure Multiplatform library for this. I can set up OneSignal natively inside the iOS Swift app and Android Kotlin app, and expose a tiny interface bridge to the shared module. When the AI rendering finishes, the shared Compose code will simply trigger that interface, launching a native notification or the system’s sharing overlay.What's NextThe research is done, and the architecture design is locked in. Next week, I plan to start vibe-coding the layout and the infinite-panning math for the canvas. I’ll act as the architect directing the vision. Let’s see how fast we can turn these ideas into a working prototype!
Week 1 of Building Pocketflow for Shipaton 2026: Core Idea and Multiplatform Architecture
Full Article
Original Source
Read the full article at Hackernoon →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.