Skip to content

Crucible

Plex Client

Your Plex library, done right on iPhone

A fast, native Plex client with offline downloads, Skip Intro, Picture-in-Picture, lock-screen controls, and Handoff — open source, zero dependencies, and built entirely on Arch Linux without ever opening Xcode.

Crucible on iPhone: Home — Continue Watching, On Deck, and Recently Added
Open source GPL-3.0 Entertainment iPhone
  • Offline downloads with a Lock Screen Live Activity and background transfers
  • Skip Intro/Credits, PiP, and background audio
  • Direct play with automatic HLS transcoding fallback
  • Open source under GPL-3.0 — zero third-party dependencies

./crucible --screenshots

Crucible in action

  • Home — Continue Watching, On Deck, and Recently Added

  • Detail with backdrop, cast & crew, and more like this

  • Built-in player with Skip Intro and Picture-in-Picture

  • Movie library with Continue Watching and a poster grid

tap a screen to enlarge · swipe to see more →

cat crucible/FEATURES.md

What Crucible does

A player that respects your time

Skip Intro and Skip Credits from Plex markers, Picture-in-Picture, background audio, and lock-screen controls. Credits roll the next episode automatically.

Take it offline

Download movies, whole seasons, or single episodes at the quality you pick — from Original down to Data Saver. Downloads keep running in the background, interrupt gracefully and auto-resume from where they left off, and stay Wi-Fi-only unless you say otherwise. A Live Activity tracks progress on the Lock Screen and in the Dynamic Island — a WidgetKit extension compiled and signed entirely on Arch Linux via xtool.

Plays anything

Direct play when your device handles the file natively, automatic HLS transcoding through Plex's universal transcoder when it doesn't.

Browse the way you think

Continue Watching, On Deck, and Recently Added up front. Poster grids with genre filters and sort, plus raw folder browsing for unindexed content.

Discover more

Cast and crew, More Like This recommendations, subtitle and audio track selection, and adjustable playback speed on every title.

Continues across devices

Watch progress syncs to your server, resume picks up where you left off, and Handoff plus Spotlight carry titles between your devices.

Built different

Swift 6 and programmatic UIKit with Liquid Glass on iOS 26, cross-compiled on Arch Linux and deployed over USB. No Xcode, no macOS, no dependencies.

man crucible

How Crucible works

  1. Sign in to Plex

    Authenticate with Plex over OAuth. Crucible discovers your servers and picks the best reachable connection automatically.

  2. Browse your libraries

    Jump back into Continue Watching, scan your poster grids, or search across everything you own.

  3. Press play

    Direct play or transcode, skip the intro, send it to Picture-in-Picture, and let Up Next roll the next episode.

less crucible/README

About Crucible

Crucible is a fast, native Plex client for iPhone — and a love letter to building iOS apps without a Mac. The whole app is Swift 6 and programmatic UIKit, cross-compiled on Arch Linux and deployed straight to an iPhone over USB. No Xcode, no storyboards, no macOS anywhere in the loop.

EVERYTHING IN ITS PLACE

Continue Watching, On Deck, and Recently Added greet you on the home screen. Browse libraries as poster grids with genre filters and sort options, or dig into raw folders for unindexed content.

A PLAYER THAT RESPECTS YOUR TIME

Skip Intro and Skip Credits straight from Plex markers, Picture-in-Picture with background audio, lock screen and Control Center controls, and Up Next that rolls the next episode as the credits start. Direct play when your device can handle the file, automatic HLS transcoding when it can't.

TAKE IT OFFLINE

Download movies, whole seasons, or single episodes at the quality you pick — Original, High, Medium, Low, or Data Saver. Background transfers keep going when the app is closed and resume after interruptions, downloads stay Wi-Fi-only unless you allow cellular, and a dedicated Downloads tab shows progress, storage used, and free space. A Live Activity tracks live progress on the Lock Screen and in the Dynamic Island — a WidgetKit extension compiled and signed on Arch Linux via xtool — while downloads run in the background, auto-resume from where they left off, and ping you when they finish. Offline playback runs through the same player — Skip Intro/Credits, resume, Picture-in-Picture, background audio, and lock screen controls all work with no network.

GO DEEPER

Cast and crew, More Like This recommendations, subtitle and audio track selection, and adjustable playback speed. Hand a title off between your devices and find what you've watched in Spotlight.

OPEN SOURCE, BUILT ON LINUX

Crucible is free and open source under the GPL-3.0 license, with zero third-party dependencies — pure Apple frameworks. Read the code, file an issue, or build it yourself.

./crucible --faq

Frequently asked questions

Is Crucible on the App Store?

No. Crucible is a free, open-source personal project — not an App Store release. You build it from source and deploy it to your own iPhone with xtool, or grab a tagged release from GitHub.

Do I need a Mac or Xcode to build it?

No. That's the whole point. Crucible is written in Swift 6 and programmatic UIKit, cross-compiled on Arch Linux with SwiftPM, and deployed to an iPhone over USB via xtool. No Xcode, no storyboards, no macOS anywhere.

What does it need to run?

An iPhone on iOS 17 or later and a Plex Media Server you can reach. Crucible talks directly to your server — it works great over Tailscale for secure remote access.

Does it support Skip Intro, PiP, and lock-screen controls?

Yes. Skip Intro and Skip Credits come from Plex chapter markers, Picture-in-Picture and background audio keep playback going, and the lock screen and Control Center drive play, skip, scrub, and next episode.

Can I download movies and shows to watch offline?

Yes. Download movies, full seasons, or single episodes at the quality you choose — Original, High, Medium, Low, or Data Saver. Downloads run in the background and resume after interruptions, stay Wi-Fi-only unless you allow cellular, and live in a dedicated Downloads tab with progress and storage usage. A Live Activity shows live progress on the Lock Screen and in the Dynamic Island, and a notification fires when a download finishes while you're away. Offline playback uses the same player, so Skip Intro/Credits, resume, PiP, background audio, and lock-screen controls all work with no network.

Is it really open source?

Yes — GPL-3.0, with zero third-party dependencies (pure Apple frameworks). Read the code, file an issue, or fork it on GitHub.

Build it, side-load it, watch everything.

Free and open source under GPL-3.0. Built on Arch Linux, deployed with xtool.

v1.4.0 · requires iOS 17.0+ GitHub ↗ Releases ↗ Support ↗ by guitaripod

ls ~/apps