Skip to content
TeoVaderPublic

About

Final(ish) - Open source. Native. Unofficial Frame.io client for Android.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Final(ish): video review on Android, an unofficial Frame.io client

Build License: GPL-3.0 Android 8.0+ Kotlin 2.4 Jetpack Compose Frame.io API V4

Final(ish)

Open source. Native. Unofficial Frame.io client.

A free, open-source, unofficial Frame.io client for Android. Review videos, leave time-coded comments, approve versions and share review links from your Android phone or tablet. Built with Kotlin, Jetpack Compose and Media3, designed to feel fast and look great. Website: teovader.github.io/finalish · Download: Google Play or the latest APK.

Get it on Google Play

Frame.io has no official Android app (as of November 2026). Final(ish) brings the Frame.io review workflow to Android phones and tablets, using the official Frame.io V4 API.

Which Frame.io accounts work. Final(ish) uses the Frame.io V4 API and signs in with an Adobe ID. Accounts managed by Adobe (Adobe Admin Console) work. Accounts managed by Frame.io work once the user signs in to Frame.io with an Adobe ID that uses the same email; without that link the Frame.io API answers "Frame user is not linked to an Adobe ID". Frame.io plans to move every Frame-managed account to Adobe management; no date is announced yet, organizations are moved automatically when scheduled (admins get notice about 30 days ahead and can ask support@frame.io for a different date). See Frame managed vs Adobe managed accounts and the migration to Adobe-managed subscriptions.

Personal Adobe IDs work. Company or school accounts (Enterprise or Federated ID) may be blocked until Adobe reviews the app or the organization's admin allows third-party apps: Adobe lets apps that haven't passed its review sign in only personal accounts (Adobe Developer Console docs).

Legacy (V3) accounts don't work. Frame.io moved its remaining Legacy retail accounts to V4 as of June 1, 2026. If yours is still on Legacy, an Owner or Admin can update it from the account menu on frame.io, or ask support@frame.io. Accounts created with Google before the move to Adobe may need Frame.io support to link them to an Adobe ID.

Note

Final(ish) is not affiliated with, endorsed or sponsored by Adobe or Frame.io. Adobe and Frame.io are either registered trademarks or trademarks of Adobe in the United States and/or other countries.

Contents: Screenshots · Features · Download and build · How this was built · Contributing · Support · License

Screenshots

Projects Folder Player and comments
Projects Folders and files Player and comments
Share link Settings Welcome
Share links Settings Welcome and demo mode

Fullscreen player with the comments beside it
Landscape: the player beside the comments

Features

  • Browse accounts, workspaces, projects, folders, version stacks and collections, in a grid or a list, with live refresh.
  • Play video frame by frame with timecode, speed, loop, real resolutions, pinch-zoom, aspect masks and safe guides, and picture-in-picture.
  • Review with time-coded and range comments, on-frame drawings, mark as done and markers on the timeline.
  • Open images (RAW, PSD and more), PDFs, audio and Word / Excel / PowerPoint files.
  • Approve with Status, Rating and custom metadata fields, and compare versions side by side or with a wipe.
  • Share links with every setting, and open next.frame.io / f.io links straight in the app (links from other accounts open in a browser tab).
  • Upload in the background with resumable multi-part transfers, from the picker or the share sheet.
  • Work offline: saved files, cached browsing and comments that sync later.
  • Get notified of new comments, mentions, processed uploads and opened links, with no server.
  • Phones and tablets: on wide screens the tab bar becomes a side bar and lists keep a readable width.
  • Six languages: English, Italiano, Deutsch, Español, Français and Português (Brasil), switchable in Settings.
  • Report bugs by shaking the phone: logs are sanitised and the screenshot is only attached if you turn it on.
  • Try it first in demo mode, no account needed. Works on every Frame.io plan, Free included.

The full list, area by area: docs/features.md.

Known limitations

Some things Frame.io offers on the web can't be done in Final(ish) yet, because the public Frame.io V4 API doesn't expose them:

  • Review links from other accounts open in the browser. The API only reads shares in accounts you belong to, so a review link someone sends you from their own account opens in a browser tab instead of the app. Links to your own accounts open in the app.
  • Replies to comments are shown but can't be written in the app: "Reply" opens the file on Frame.io in the browser.
  • @mentions are shown and highlighted but can't be created.
  • Notifications come from the app itself, built from the files and links you follow: there is no Frame.io inbox in the API. They rely on Android running a background check about every 15 minutes: phones that stop background apps (Xiaomi and others without Autostart) only show new comments when the app is opened, and the notification settings say so with a shortcut to the right setting.
  • Guest names: comments left through a share link show the guest's name only when the account's audit log has it (admins); older ones show as "Guest reviewer".
  • Viewers can't play or see files in the app. The Frame.io API gives no media to members with the Viewer role (and withholds it when watermarking is required), so for those files the viewer offers to open them on Frame.io in the browser instead. Comments and file info still work in the app.
  • Not available: email notification settings, setting a frame as thumbnail, duplicating a project, Camera to Cloud devices.

They'll be added when the API allows them. Found something else that doesn't work? Shake the phone to report it, or open an issue.

Download and build

Install it from Google Play (Android 8.0 or later), or download the signed APK from Releases. Or build it yourself with JDK 21 and the Android SDK:

./gradlew assembleDebug        # app/build/outputs/apk/debug/

A debug build needs your own free Adobe Developer credential to sign in (or use demo mode, no account needed). Setup, release signing, tests and the code layout: docs/building.md.

How this was built

Final(ish) is an AI-assisted project. Most of the code was written with Claude Code, Anthropic's coding agent, working from my direction: I decide what the app does and how it looks, review the results and test every change on real phones. Every commit made with Claude says so in a Co-Authored-By line.

AI-written code still has to earn its place, so every change goes through the same checks:

  • Unit and screenshot tests (Roborazzi) for the logic and for every screen, run by CI on each push together with Android lint, which has to stay at zero warnings.
  • Code reviews and audits of the whole codebase, with the findings fixed and tracked in the history.
  • Real devices: a current Pixel and an older OnePlus 5, on a paid and on a Free Frame.io plan.
  • In-app reports, so bugs found in daily use get fixed quickly.

If you spot something that looks wrong, open an issue: that is exactly the kind of feedback this approach needs.

Contributing

Bug reports and ideas are welcome: shake the phone in the app (or Settings → Report a bug), or open an issue. Code changes: CONTRIBUTING.md. Security issues: SECURITY.md.

Support

Final(ish) is free, with no ads and no tracking. If it saves you time, you can buy me a coffee on Ko-fi. Starring the repository, reporting bugs and telling other editors about it help just as much.

License

Free software under the GNU GPL v3.0. Not affiliated with Adobe or Frame.io (see the note above).

About

Final(ish) - Open source. Native. Unofficial Frame.io client for Android.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages