Batteries included
Multi-tenant Auth (better-auth: email/password, session cookies, bearer tokens), Gamification primitives, and Billing metering — wired in so every app starts with the plumbing already done.
Batteries included
Multi-tenant Auth (better-auth: email/password, session cookies, bearer tokens), Gamification primitives, and Billing metering — wired in so every app starts with the plumbing already done.
A unified Job engine
Schedulable, multi-step pipelines (ingest → enrich → export/publish)
backed by a durable pg-boss queue. One Job aggregate, one step loop,
cron schedules with skip-if-running overlap protection.
AI agents are first-class
LLM calls run inside deterministic pipeline steps behind a provider-agnostic port (Cline / Anthropic / OpenRouter). A tool-using reasoning loop and user-authored skills are on the roadmap.
Less code wasted when ventures fail
When a company shuts down, most of its codebase dies with it — including all the plumbing rebuilt from scratch. On a platform, that foundation lives on; only the thin layer you built on top is ever lost, so far less of the work is thrown away.
Content veille
Pull from Gmail / web / a headless-Chrome scraper, enrich with an LLM, and export to Notion — on a cron.
Social & blog publishing
Draft owner-scoped posts for review, then publish approved-and-due drafts to X / LinkedIn or a headless-CMS blog.
Watch & alert
An append-only numeric time-series + a generic watch step that emits a
kanban alert when a value crosses a threshold (classifieds price is consumer
#1).
Inbox → tasks
Triage a flagged Gmail thread into a kanban Task, or turn upcoming Google
Calendar events into owner-scoped tasks, idempotently.
Run your whole company on it
Full company tooling — and the proof is dogfooding: at Viite we run the entire company on the platform, from veille and publishing to tasks and operations.
Install the SDK and talk to the Viite Platform API from any TypeScript runtime:
bun add @abeauvois/platform-sdkimport { PlatformApiClient } from "@abeauvois/platform-sdk";
const client = new PlatformApiClient({ baseUrl: "http://localhost:3000" });
await client.auth.signIn({ email: "you@example.com", password: "secret" });
// Schedule a daily Gmail-triage pipeline (flagged thread → kanban task)await client.jobs.createSchedule({ slug: "daily-triage", preset: "gmailTriage", cron: "0 7 * * *",});