Back to work
Storyboard, image, video, 36 seconds

Built solo · 2026 · In studio use

AI Application

mico

A desktop AI production toolbox for a studio's daily work: prompt, image, video and storyboard, priced honestly.

A macOS app I designed and built for a media studio's daily generative work: prompt tools, image and video generation, and a storyboard chain from idea to panel grid. Every round is filed to a project and priced twice, estimate first, actual after. By our own count it roughly halved pre-production time.

RoleProduct · Design · Engineering

1,500+
automated tests · 253 commits
4
tools in one shell
600+
images and videos generated in studio work
$0.18
a four-panel storyboard, idea to grid, in 114 seconds
mico: The bill you expect.

Honest Pricing

The bill you expect.

Video cost rebuilt from the vendor's price page and tested against its examples; actual cost read back from every response.

mico: Quit, crash, resume.

Never Lose a Take

Quit, crash, resume.

In-flight tasks survive relaunch; a cloud sync recovers videos the app never saw finish.

mico: One click, or one step at a time.

Idea to Grid

One click, or one step at a time.

Concept, script, shot list, reference cards, a 4–16 panel grid; every layer editable afterwards.

mico: Spec first. Tests always.

Built Like Software

Spec first. Tests always.

1,500+ automated tests, a changelog with reasons, keys never written to disk.

Tech Specs

Shell
Tauri v2 · Rust commands (proxy, R2 signing, drag-drop)
UI
React 19 · TypeScript strict · Zustand · Tailwind
Models
Claude (CLI) · gpt-image-2.5 · Seedance 2.5 / 2.0 / 1.5 via Ark
Storage
app data files · Cloudflare R2 for references
Tests
1,500+ passing · 150 files
Size
64k lines app · 24k lines tests
Distribution
macOS .dmg, studio team
The full storyRead the full storyCollapse

What it is

Home is four planets on an arc, one per area, sharing only settings, the design system, a one-shot handoff and the current project. Prompt tools are deterministic where a rule beats a model: a seven-view character reference board and fifteen "looks" written as visible properties (light, shadow, grade, material) rather than style words. Image generation runs on OpenAI's image models with drag-and-drop references and a built-in sketch pad. Video runs on five Seedance models with text, first-and-last-frame and multi-reference modes. A utilities room does green-screen alpha extraction and video-to-frames locally. The newest tool draws a 360° scene panorama with an automatic seam check, about four cents and half a minute a frame.

The storyboard chain

Idea → brief → concept with characters, setting and key props → script → director's shot list → reference cards → a 2×2 to 4×4 grid cut into panels. Manual mode is one step per click, each reviewed and editable, with a stepper to walk back and redo from any point. Auto mode runs the whole chain in one click. Afterwards every layer stays live: edit a shot, redraw a panel with its cards as references, enhance to 2K, upload a replacement, restore any of the last five versions, or send a panel to the video area as a first frame. Each stage persists before the next starts, so a failure resumes.

Money and reliability

Video cost depends on model, output resolution tier, input-video seconds with a four-second floor, and dated promotions; the formula was rebuilt from the official price page and tested against every worked example on it, and actual cost uses the server's token count and the order date. Image cost is estimated before and read from the response after. Tasks are claimed synchronously before the first await, so React's double-run can never bill twice. In-flight work persists and resumes on relaunch; "sync cloud" reconciles the vendor's task list and downloads anything missing. Two billing accounts, per-project spend, monthly totals.

Three generations

It started as a storyboard app (idea to panel grid). When the output moved from stills to video, it became a Seedance prompt compiler: six stages, twenty-five director profiles, a de-AI pass that strips filler words. When image and video generation became products in their own right, the single pipeline was replaced by independent areas, each rebuilt around one real need at a time. The storyboard chain came back as the fourth area, its text agents recovered verbatim from git history and wrapped in a new, fully injectable stage runner that runs under test with fakes.

Engineering notes

Tauri v2 with a thin Rust layer: an HTTP proxy for a vendor that sends no CORS headers, R2 uploads with SigV4 signing and MD5 verification so local reference videos can be used at all, drag-and-drop file reads. React 19, TypeScript strict, Zustand, Tailwind, Vitest: 150 test files, 1,500+ passing, two tested invariants (API keys never written to disk, large input bytes never written). About 64,000 lines of app code and 24,000 of tests. SPEC.md and CHANGELOG.md updated with every version. Bilingual UI. Distributed as a macOS .dmg to the studio team. Not there yet: macOS only, no auto-update, and keys live in app storage rather than the keychain.

More frames