# Cliff documentation | WebKoding

How to install, licence and update Cliff. A short-drama app where the branch is the thing being sold.

Source: https://webkodingtheme.com/docs/cliff/

---

# Cliff documentation

A short-drama app where the branch is the thing being sold.
Back to Cliff Open the demo

## Before you start

- •Flutter installed, with the toolchain for whichever platform you ship
- •A server for the Node and PostgreSQL backend and the operator panel
- •Video hosting and bandwidth of your own — short vertical episodes are the expensive part and are not included
- •An Apple and a Google developer account, and their in-app purchase setup if you sell coins
A Flutter app plus a Node and PostgreSQL backend with an operator panel. You host the backend; video hosting and bandwidth are your own arrangement.

## What it does not do

- —It does not host or deliver video, and short vertical video is the largest running cost of an app like this. Bandwidth is your own arrangement.
- —It does not come with any content. The branching engine is the product; the episodes are yours to make or license.
- —It does not complete in-app purchase setup. The flow is built; store products, pricing and review are yours.
- —VIP grants no unlocks, by design and enforced in the database. If you want a subscription that unlocks everything, this is not that app.

## What is in the download

A Flutter app for iOS and Android, a Node backend with PostgreSQL, and an operator panel. The branching engine, the coin and unlock model and the VIP rules are part of the backend, not conventions in the app.
You host the backend. Video hosting and bandwidth are separate and are yours.

## Deploying it

Stand up the Node backend with PostgreSQL first and run the migrations. The app is not usable without it — unlike the pure Flutter templates in this catalogue, the rules here live in the database on purpose.
Put the operator panel behind authentication on a domain of your own before you load any catalogue.
Then build the Flutter app pointed at your backend, and test a purchase end to end in the store sandboxes before submitting anything.

## Writing a series that works

Design the graph before you shoot anything. A branch that leads back to the same episode is a choice the viewer will notice is fake, and it is much cheaper to find that on paper.
Put the paid branch where the viewer already cares. Charging for the first choice converts badly; charging at the point where they are invested is the whole reason for the cliffhanger.
Watch the bandwidth bill from the first week. Short vertical video is consumed far faster than long-form, and the cost curve surprises people.

## Licence, updates and support

- One licence covers 1 application you build and publish.
- 1 year of updates, from the date of purchase.
- 1 year of email support.
- Instant download + licence key by email
- 30-day money-back guarantee
Questions this page does not answer go to support@webkoding.com . If you bought from us and cannot find your licence key, look it up here .

## Common questions

### Why does VIP not unlock episodes?

Because one month of VIP would otherwise buy the catalogue forever and nobody would renew. It is enforced in the database rather than left to convention, along with the rule that an unlock is permanent — those two rules together are the business model.

### How is a branching series different from a playlist?

A series is a directed graph: episodes are nodes and choices are edges, so one series ends in two, four or more places. Competing apps play episodes in a straight line, which means the choice is decoration.

### Is video hosting included?

No, and it is the largest running cost of an app like this. Short vertical video is bandwidth-heavy; hosting and delivery are your own arrangement and your own bill.

### What is in the operator panel?

The catalogue, episodes, branches and pricing — the day-to-day work of running the app, rather than a database client.

### Does the viewer keep their place?

Yes: the vertical player supports seeking and resume with per-episode progress, and the branch map shows walked paths solid and sealed ones dim.
