Kajobu
SaaSLive

One platform to publish, schedule and answer questions.

Built first for a university school of business: a public site and admin panel for news, training programs and room reservations, with an AI assistant that knows the organization. The same foundation adapts to other institutions.

Core screens

Illustrative · client names, data and content removed

app.example.com/schedule
FeaturedSchedulingA weekly timetable for shared rooms: recurring bookings across a whole term, pending requests awaiting approval, and blocked-off time — checked for conflicts before anything is saved.
app.example.com/
DashboardKey figures, trends and maps at a glance.
app.example.com/news
Content portalSections and filters, with posts laid out whether or not they have images.
app.example.com/training
AI assistantA chat panel on every page, answering from the organization's own knowledge base.

What's under the hood

Headless CMS & API

Payload CMS · REST · GraphQL

Editors manage content, media and settings in an admin panel. The public site reads everything over an API.

Role-based permissions

named permissions · row-level scoping

Capabilities are named once and granted per role. Each user sees only the records they're allowed to, filtered at query time.

Append-only audit log

logins · changes · denials

Who did what and when, with passwords and tokens redacted. No account — administrators included — can edit or delete an entry.

Conflict-safe scheduling

explicit time zones · concurrency-tested

Terms, weeks and recurring series, blackout rules, and overlap checks that hold even when two people book the same slot at once.

AI assistant

streaming · rate limits · usage tracking

Answers stream in as they're written, from a knowledge base editors maintain. Per-user and global limits keep costs predictable.

Dashboards & bilingual UI

D3 · i18n

Charts and maps rendered from bundled data so they work offline, with the whole interface available in English and Chinese.

Architecture

Two apps behind one TLS edge. Only ports 22, 80 and 443 are open; app servers listen on loopback.

HTTPSRESTBrowserany deviceNginxTLS · body capsWeb appNext.jsCMS & APIPayload CMSLLM providerstreaming APIDatabaseSQLite

Stack

Frontend
Next.jsReactTypeScriptTailwind CSSRadix UID3i18next
Backend
Payload CMSNode.jsSQLite / libSQLREST & GraphQL
AI
OpenAI-compatible LLM APINDJSON streamingPrompt caching
Operations
NginxPM2Let's EncryptufwAWSShell deploys

Need something like this for your organization?

Email us