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.
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.