Farther ShoreDocs
Go to Farther Shore
Find every platform capability
How Farther Shore works
Choose a product shape
Hosted appAPI businessHybrid productDecide from customer behavior
Install the CLI
Quickstart
Core concepts
Build a hybrid product
A pay-as-you-go API
A subscription SaaS app
Environment variables
Glossary
Status
Docs/Start here/Choose a product shape

Choose a product shape

Start with a hosted app, an API, or a hybrid product.

Farther Shore supports three common shapes. They share the same plan, subscription, identity, and enforcement model, so a business can grow from one shape into another without changing its customer boundary.

Hosted app

Choose a hosted app when customers primarily use a web interface. Build the application in frontend/ with @farthershore/farthershore-js. The SDK provides customer sessions and managed account, plan, checkout, usage, and team UI.

You only need your own backend when the app performs domain work that cannot be done in the browser or through a declared frontend integration.

Read Frontend SDK.

API business

Choose an API business when customers call HTTP endpoints with customer credentials. Declare every exposed method with fs.route(), group the route refs if useful, grant them from plans, and bind each logical fs.backend() to a deployed origin per environment.

Farther Shore authenticates and authorizes before proxying to the backend. The backend verifies the signed runtime context and reports any usage the gateway cannot know from the request alone.

Read Routes and Bring your own backend.

Hybrid product

Choose a hybrid when the hosted app and public API are two surfaces over the same business. Route surfaces control where an operation may be called; omitting them permits all supported authenticated surfaces.

ts
const reports = fs.route("/v1/reports", {
  get: { surfaces: [fs.surfaces.ui, fs.surfaces.api] },
});

Do not duplicate plans or customer organizations for the two surfaces. A single subscription can grant the UI and API routes it purchased.

Decide from customer behavior

  • Start hosted when the customer expects a product UI.
  • Start API-first when the customer integrates from code.
  • Use hybrid when both surfaces sell the same underlying capability.
  • Add a backend only for server-side domain work.
  • Use a frontend integration only for a tightly constrained third-party call; it is not a general backend replacement.
PreviousHow Farther Shore worksNextInstall the CLI

On this page

Hosted appAPI businessHybrid productDecide from customer behavior