PostPilot: From a Small Idea to a Shareable Creation
I did not want to build another prompt box that returns an image and forgets it. I wanted a place where someone can capture a small moment, turn it into a creation, keep it, and choose whether to share it.
That is the product loop taking shape in PostPilot. It has a public demo, a web app, and a Flutter Android client. This is a status report as of September 24, 2026, with the gaps stated as plainly as the progress.
Start with a moment
The creation flow offers four modes: text to image, restyling an existing photo, text to video, and image to video. Selecting a mode changes its example image, explanation, and prompt suggestion. The video examples are explicitly labeled still-frame illustrations, not video previews.

Before a real submission, the app shows the credit cost for the chosen mode. People can set the aspect ratio, write a description, select a caption language, and choose a source image when the mode needs one. The server manages jobs and creation state, so finished work has somewhere to live beyond the form.
Give the creation a destination
The library keeps creation history and supports details, downloads, and creating again from an earlier work. Publishing is a separate decision: a user reviews the caption and confirms that the image or video will become public before posting it to the in-app plaza. The plaza has a feed and detail view, with like and comment flows in the client and service.
Keeping a work private and sharing it publicly should never be the same action. Today, sharing means the PostPilot in-app plaza. One-click publishing to Instagram, Facebook, TikTok, or X is not available yet.
One product, three entry points
- The public demo explains the product with real sample images. Its form does not generate content or charge credits.
- The web app provides sign-in, creation, the library, plaza, and profile on mobile and desktop.
- The Flutter Android app carries the same core flow. Its navigation, input, creation choices, library, and plaza have been checked on one Android device. It is not a general store release.
A Go service owns jobs, credits, and creation state; a generation worker processes media tasks; Vue and Flutter provide the two client experiences. The engineering work is not just the screens. It includes asynchronous jobs, recoverable state, persistent media, and clear boundaries around cost and public posting.
What is proven, and what is not
The site and web app are online. The public sample manifest and four initial lifestyle images are accessible. The Android client has had a device-level UI pass, and the web interface has been checked from narrow phones to desktop. This is evidence for the interface, navigation, sample delivery, and parts of the service flow.
It is not evidence for a completed commercial loop. At publication time, the generation node required for daily new samples is unreachable, so the next-day automated refresh has not been verified end to end. A real paid generation followed by public posting has not had a production acceptance run, and iOS has not had device testing. Cached images are a fallback, not proof that new images were produced today.
The first operating loop
I will publish real sample work clearly labeled as samples, invite a small early-access group, and learn where people hesitate or fail between creation, the library, and sharing. I will not invent user posts, likes, or usage numbers.
The next release gate is a test-account run through mode selection, credit quote, generation, library delivery, explicit publish confirmation, and a visible plaza post. The daily sample refresh also needs a successful next-day run on both clients before larger recruitment or paid promotion.
You can explore the PostPilot demo now. For early access or feedback, write to will@zwlab.app.