devsan
All work

Case study

FrameStory

Plan shoots, extract frames, and build the story from local video projects.

shippedSolo buildMobileFull Stack2026
FrameStory project cover: Plan shoots, extract frames, and build the story from local video projects.

Summary

Built a mobile creator tool that imports phone media, extracts frames locally, and lets you select and export results — all offline.

Problem

Creators who work with video on Android keep hitting the same wall: extracting and organizing frames from a clip is either slow, requires desktop tools, or means uploading media to a server you don't control. The phone already has the media and the CPU; everything should happen on-device. The constraint is doing it without trashing battery or feeling like a research tool.

Approach

FrameStory is Android-first and local-first. Media imports happen via the native picker; frames are extracted on-device using platform-native decoders, not a cross-platform JS loop. Persistence is local — projects, selections, and exports never need a backend to function. The UX is deliberately narrow. One creator workflow done well beats five workflows half-done. The home surface is a project list; tapping in goes straight to the frame grid. Selection is multi-touch and forgiving; export bundles the picked frames in one tap. No accounts, no cloud sync prompts, no upsell modals. Built in Expo with React Native and TypeScript. Native modules handle the heavy decoding; the JS layer stays thin and predictable. I shipped to the Play Store, wrote the listing, did the screenshots, and put it in front of real creators to validate the flow.

Architecture

interactimportextract framespersist selectionsread/write projectsCreatorAndroid phoneExpo / RN UITypeScriptNative Frame Moduleplatform decodersLocal Storageon-devicePhone Media Librarysystem picker
UserServiceStoreExternal
No server. The phone has the media and the CPU; the app stays on-device.

Result

FrameStory is live on Android as a small, fast, opinionated creator tool. The local-first architecture means it works offline and respects user media. Shipped, indexed on the Play Store, and finding its first real users.

Highlights

  • Local-first architecture — no server required for the core flow
  • Native frame extraction tuned for Android performance
  • Light, opinionated UX focused on one creator workflow

Have something similar?

Let's talk.

Get in touch