Inspiration

I'm a Twitch streamer with hundreds of clips I kept meaning to review. The moments were already captured. The problem was deciding which ones were still worth keeping, then doing something with them before they disappeared into the backlog.

I didn't want to paste links into another tool or upload entire streams. I wanted to sign in once, flick through my own clips from my phone, and turn the best ones into posts. That idea became Clipzy.

What it does

Sign in with Twitch and your clip backlog is waiting. There are no links to paste and no footage to upload. Clipzy brings your channel's clips into a review feed where you can flick or tap to Keep or Archive, undo if you change your mind, and find the keepers in a searchable Library.

When a clip is worth posting, open it in the editor. Trim to the moment, stack face-cam above gameplay in a vertical frame, or keep the full horizontal picture over a blurred background. Generate captions, adjust their text and timing, and resize them directly on the video. The caption layout you see in the preview carries through to the finished export.

The whole loop lives in one app: review, edit, and share. Your review decisions, Library, and edits stay on your device.

The ad-supported free plan includes the editor, captions, and 20 exports per rolling 30 days. Browsing and reviewing clips remain unlimited. Clipzy Pro removes ads and unlocks unlimited exports, with subscriptions managed through RevenueCat.

How I built it

I built Clipzy with Kotlin Multiplatform and Compose Multiplatform, sharing the interface and core product logic across Android and iOS. As a solo developer, that lets me improve the same workflow for both platforms without maintaining two separate apps.

SQLDelight stores the local clip library and review decisions. Twitch's API supplies the clips, and RevenueCat handles subscriptions. For playback and export, I use each platform's native video tools: Media3 on Android and AVFoundation on iOS.

Challenges I ran into

Horizontal stream footage does not naturally fit a 9:16 phone screen. A normal crop can force the streamer to choose between the gameplay and the reaction that made the moment work. The stacked layout became the answer: keep face-cam and gameplay visible in the same vertical frame. The full-frame layout provides another option when preserving the complete scene matters more than filling the screen.

Captions created a different problem. Clipzy has a shared Compose editor, but the finished video is rendered by two native pipelines. A caption could look right in the preview and wrap, resize, or shift in the exported file. Getting both platforms to follow the same layout rules took a lot of iteration. The result is simple for the creator: the caption layout they approve is the layout that gets exported.

Accomplishments that I'm proud of

I'm proud of building a complete Android and iOS workflow around one overlooked problem. Clipzy connects the moment someone saves a stream clip to the moment the streamer has a vertical video ready to share.

The review feed still feels like the heart of the product. It turns a backlog into one manageable decision at a time. The editor gives every good decision somewhere to go.

I'm also proud that the experience stays coherent across two platforms, even where video playback and export have to use completely different native systems.

What I learned

The problem was not capturing more moments. The good moments had already been clipped. The real bottleneck was deciding which ones deserved attention and finishing them before they disappeared into the backlog.

Tester feedback sharpened the interaction. Someone asked for a "flick" instead of a long drag. That small distinction captured the experience I wanted: reviewing clips should feel easy enough to keep going.

I also learned that sharing code works best when it supports a clear product idea. Kotlin Multiplatform helped me keep one coherent workflow while still using native tools where video required them.

What's next for Clipzy

After launch, my first priority is learning where streamers get stuck between their first review and their first finished clip, then improving that experience.

I also want to close the loop before a clip exists. A streamer could mark a moment while live, then open Clipzy after the stream and find those markers waiting as a clip deck on their phone. That would extend the same account-connected workflow without asking streamers to upload a VOD or paste links into another tool.

Projects, cross-device sync, and a desktop companion are longer-term possibilities. The goal stays the same: help more good stream moments make it out of the backlog.

Built With

  • admob
  • android
  • compose-multiplatform
  • coroutines
  • ios
  • kotlin
  • kotlin-multiplatform
  • ktor
  • posthog
  • revenuecat
  • sentry
  • sqldelight
  • twitch
Share this project:

Updates

Submission history