# Popcorn Time Rebuilt on Tauri: What the New Repository Actually Ships

> The popcorntime/popcorntime repository is a ground-up rebuild of the Popcorn Time client as a Tauri application with a React and TypeScript UI over a Rust backend. It is aimed at contributors and developers, and its most concrete public output is a weekly Parquet catalog release.

**popcorntime/popcorntime** — Popcorn Time™ puts everything in one place. Your favorite platforms, your shows, your movies-ready when you are.

- Repository: https://github.com/popcorntime/popcorntime
- Website: https://popcorntime.app
- Stars: 10,690 · Forks: 743
- Language: TypeScript
- License: MIT
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/popcorntime-popcorntime

## What the Rebuild Replaces and Who It Is Built For

The README is blunt about lineage: this is a complete rebuild of Popcorn Time, "not a fork, not a patch", with this repository as the home for ongoing development, documentation and releases. That framing matters because the older Popcorn Time clients circulated as binaries with no public source. Here the source is the product. The README states the code is public and community driven, and it lists the target platforms as desktop, mobile and TV.

The audience is therefore narrower than the name suggests. Someone who wants to watch something is not the primary reader of this repository. A developer who wants to read a real Tauri codebase, or a researcher who wants a machine-readable catalog, is. The README positions the project against directories such as JustWatch and Reelgood, which it describes as places that show you where content might be without letting you do much beyond clicking through. Popcorn Time's stated difference is that it plays your own files rather than only following links, and that the catalog is published weekly as Parquet datasets for developers and researchers. Local media playback is listed as "soon", so treat that as direction rather than current capability.

## Tauri Shell, React Front End, Rust Backend, GraphQL in Between

The architecture is visible in the repository layout. The workspace root Cargo.toml declares members matching crates/popcorntime-*, and its dependency block pins tauri 2.8.5 alongside tauri-build and a set of Tauri plugins: opener, log, fs, deep-link, updater, process and single-instance. The presence of deep-link and single-instance tells you the app expects to be launched from external links and to refuse a second window. The updater plugin means the client carries its own update path rather than relying on a store.

On the TypeScript side, package.json is a pnpm workspace orchestrated by turbo, with scripts for dev:web, dev:desktop and build:desktop. The GraphQL layer is explicit: the codegen:graphql script runs cynic introspect against http://localhost:8080 and writes the result to crates/popcorntime-graphql-client/gql/schema.graphql. That single line is the most informative fact in the repository. It means a local GraphQL server on port 8080 is the expected development counterpart, and the Rust client is generated from that schema rather than hand-written. The Cargo workspace also pulls async-graphql, async-graphql-poem and poem, which points at that server being built in Rust and served over the poem HTTP framework.

The UI is React with TypeScript, and the toolchain is opinionated: Biome 2.2.6 for formatting and linting, TypeScript 5.9.3, and a packageManager field pinning pnpm 10.6.4. The Rust workspace uses edition 2024 and version 0.0.1, with tracing and tracing-subscriber configured for structured logs. None of this is unusual for a Tauri application, but the combination of a generated GraphQL client and a separate server crate is more structure than most desktop clients carry.

## Installing the Toolchain and Getting a First Build Running

The README does not contain install steps for end users. It says nightly releases are available at popcorntime.app/download#nightly, and it directs contributors to CONTRIBUTING.md and, for getting the code to compile, to DEVELOPMENT.md. So the honest answer to "how do I install Popcorn Time" from this repository is: read DEVELOPMENT.md. What follows is what the root package.json and Cargo.toml tell you the build expects.

Start with the package manager the repository pins. The packageManager field names pnpm 10.6.4, and the lockfile is pnpm-lock.yaml, so npm or yarn will not reproduce the install.

```bash
corepack enable
pnpm install
```

The GraphQL client is generated, not checked in as a finished artifact you can rely on. Before a desktop build can compile against the schema, the local server has to be reachable on port 8080, because the codegen script introspects that address.

```bash
pnpm codegen:graphql
pnpm dev:desktop
```

The first command rewrites crates/popcorntime-graphql-client/gql/schema.graphql from whatever the server on localhost:8080 returns. The second runs pnpm tauri dev, which the README describes as the desktop development entry point. If the server is not running, expect the introspection step to fail before the Tauri window ever appears. For a web-only pass, the repository exposes dev:web through turbo, and for a packaged build, build:desktop runs turbo run build with --no-daemon.

## Where This Repository Is the Wrong Tool

The most obvious limitation is that this is not a distribution. There are no releases in the repository metadata, the workspace version is 0.0.1, and the README sends people to a nightly download page rather than describing a stable channel. Anyone who wants a signed installer for macOS or Windows should not treat this repository as the source of that artifact.

The second limitation is legal and structural, and it is the one the README itself raises by calling the project "modern, safer, and legal". The repository ships a LEGAL.md and a SECURITY.md at the top level, which is a signal that the project is managing this boundary deliberately. The README does not describe what the catalog contains, how it is sourced, or what the GraphQL server serves. If your use case depends on knowing that, the README will not answer it.

The third is a development dependency that is easy to miss. Because the Rust client is generated from a GraphQL schema, you cannot meaningfully build the desktop app without a working server on localhost:8080. That is fine for a contributor inside the project and awkward for anyone trying to embed the crates elsewhere. The repository is a monorepo for one application, not a library collection with stable public APIs. The README also lists local media playback as "soon", so if playing your own files is the feature you need, the README is telling you it is not there yet.

## How It Differs from JustWatch and Reelgood

The README draws the comparison itself. JustWatch and Reelgood are described as directories: they show where content might be and then hand you off to a service. The structural difference is that neither publishes its catalog as an open dataset, and neither ships a client whose source you can read. Popcorn Time's stated position is that the catalog is released weekly as Parquet datasets, that the code is public, and that features and direction come from contributors.

There is a real trade-off hiding in that. A directory like JustWatch stays current because its business depends on licensing data continuously. A weekly Parquet drop is a different contract: it is useful for research and for building on top of, but it is a snapshot, and the README does not describe how far behind live availability a weekly cadence can fall. For a developer who wants to query a catalog offline or join it against other data, Parquet is a better format than a web page. For someone who wants to know what is streaming tonight, the directory model is still the more direct answer. The README's own framing, that the project is not there to monetize discovery, explains the choice even if it does not resolve the freshness question.

## Maintenance, Licence and the Cost of Tracking This Codebase

The repository is not archived, and the last push was on 2026-09-04. The README describes the project as community driven and supported by sponsors, with Cloudflare and DigitalOcean listed as backers. There is a Discord server and accounts on X and Facebook, but the README does not describe a release cadence, a support policy, or a deprecation process, and the repository metadata returned no releases.

Upgrade cost is set by the dependency choices. Tauri 2.x is pinned at 2.8.5 with a matching tauri-build at 2.4.1, and the plugin set is versioned separately, so a Tauri major bump touches several entries at once. The Rust workspace uses edition 2024, which requires a reasonably current toolchain. On the JavaScript side, the pins are tight: Biome 2.2.6, TypeScript 5.9.3, pnpm 10.6.4, turbo ^2.5.8. Tight pins reduce surprise but mean upgrades arrive as deliberate, coordinated changes rather than floating patches.

The licence is MIT, which is permissive and places few obligations on reuse beyond preserving the notice. Note that MIT covers the code in this repository, not the catalog data, the trademarks, or the content the client can play; the README does not state the terms for the weekly Parquet datasets, and LEGAL.md is the file to read for the project's own position. This is a description of what the repository states, not legal advice.

## Conclusion

Adopt this repository if you want to build or study a Tauri, React and Rust desktop and mobile client, or if you need the weekly Parquet catalog datasets it publishes for research. Do not adopt it if you were looking for a finished binary: the README points to nightly builds and the workspace version is 0.0.1, and the README does not document rollback or a release process. Before committing, verify the Parquet schema and update cadence yourself, and open DEVELOPMENT.md to confirm the toolchain and database setup the build expects.

## FAQ

### Is Popcorn Time still working?

The repository was last pushed on 2026-09-04 and is not archived, and the README points to nightly builds at popcorntime.app/download#nightly. The README does not describe a stable release channel, so what is available today is the nightly download page.

### What is the real Popcorn Time?

The README states this repository is a complete rebuild, "not a fork, not a patch", and that it is the home for ongoing development, documentation and releases. It points to popcorntime.app as the project site.

### What is the latest version of Popcorn Time?

The Rust workspace declares version 0.0.1, and no releases were returned in the repository metadata. The README directs users to the nightly download page rather than naming a stable version.

### How safe is Popcorn Time?

The README describes the rebuild as modern, safer and legal, and the repository ships a SECURITY.md and a LEGAL.md at the top level. The README does not describe what the catalog contains or how it is sourced, so it cannot settle the question on its own.

### How do I install Popcorn Time on Linux?

The README does not give end-user install steps for any platform. It points contributors to CONTRIBUTING.md and, for getting the code to compile, to DEVELOPMENT.md, and the root package.json pins pnpm 10.6.4 as the package manager.

### How do I install Popcorn Time on macOS?

The README does not document a macOS install path. It sends readers to DEVELOPMENT.md for getting the code to compile and to popcorntime.app/download#nightly for nightly builds.

## Sources

- [Issues](https://github.com/popcorntime/popcorntime/issues)
- [License: MIT](https://github.com/popcorntime/popcorntime/blob/dev/LICENSE)
- [popcorntime/popcorntime on GitHub](https://github.com/popcorntime/popcorntime)
- [Project website](https://popcorntime.app)
- [README](https://github.com/popcorntime/popcorntime/blob/dev/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/popcorntime-popcorntime
