Building Standalone Products on Kiket¶
Build independent SaaS products that use Kiket's API for workflow automation, compliance, and AI — without your users ever seeing Kiket.
Architecture¶
Your Product Frontend ←→ Kiket API ←→ Kiket Core
(Next.js, React) REST API Workflows, AI, Blockchain
Your brand + domain Auth, CORS Extensions, Compliance
Your pricing Billing Reports, Documents
Your product is a standalone frontend that:
- Has its own domain, branding, and UI
- Authenticates users via the Headless Auth API
- Manages billing via Stripe Connect
- Creates projects, issues, and workflows via Kiket's REST API
- Defines workflows, intake forms, and custom fields via YAML in a GitHub repository
Key Concepts¶
| Concept | What It Is |
|---|---|
| ProductApplication | Registry entry for your product (slug, domain, branding, feature flags) |
| ProductSubscription | Per-tenant subscription (plan tier, Stripe, trial) |
| Product Organization | Each customer gets their own Kiket organization (isolated data) |
| Scoped Sessions | JWT tokens carry (user_id, org_id, product_slug) — all data is tenant-scoped |
User Identity¶
One User record per email across all products. A user can:
- Register for your product (creates a new organization)
- Register for another product (creates another organization, same user)
- Register directly on Kiket (creates a direct organization)
- Log into each product independently — JWT tokens are scoped per product + organization
Product users cannot log into Kiket's web UI. They only interact through your frontend.
Product Definitions (YAML)¶
Your product's workflows, intake forms, custom fields, boards, and issue types are defined in a GitHub repository with a .kiket/ directory:
your-product-definitions/
├── .kiket/
│ ├── project.yaml # Manifest with custom fields and team roles
│ ├── issue_types.yaml # Issue type definitions
│ ├── workflows/
│ │ └── main.yaml # Workflow state machine
│ ├── intakes/
│ │ └── request.yaml # Public intake form
│ ├── boards/
│ │ └── default.yaml # Board layout
│ └── agents/
│ └── classifier.yaml # AI agent definitions
When a new customer registers, Kiket creates a WorkflowRepository for their organization pointing to your GitHub repo. The existing sync infrastructure (GitHubWorkflowSyncService) handles everything.
Quick Start¶
- Register your product — Admin creates a
ProductApplicationwith your slug, domain, branding, and feature flags - Set up CORS — Add your frontend's origin to
allowed_origins - Create your definitions repo — GitHub repo with
.kiket/directory - Link the repo — Set
workflow_repositoryon your ProductApplication - Build your frontend — Call the headless auth API to register/login users
- Configure billing — Set up Stripe Connect for your product
API Scoping¶
Your product only has access to the API endpoints listed in its feature_flags.api_scopes. Common scopes:
issues, workflows, intake_forms, compliance_reports, blockchain, ai, comments, documents, custom_fields, webhooks
Auth and billing endpoints are always accessible.