Scibly is an open-source, AI-native learning platform.
Introduction · Tech Stack · Self-hosting · Contributing · License
Turn your existing knowledge into interactive learning experiences. Scibly is an open-source, AI-native learning platform that transforms documents and internal knowledge into structured, interactive courses in minutes.
- Next.js – framework
- TypeScript – language
- Tailwind – CSS
- Prisma – ORM
- PostgreSQL – database
- better-auth – auth
- tRPC – API layer
- Hocuspocus / Yjs – realtime editor sync
- Turborepo – monorepo build orchestration
- pnpm – package manager / workspaces
- Stripe – payments (
ee/only) - Resend – transactional email
- PostHog – product analytics
- AWS S3 – media storage
You can self-host Scibly for full control over your data. pnpm workspaces + Turborepo, three deployables and a shared package layer:
apps/
├── app/ # the product — course authoring, learning, notebook (port 3001)
├── web/ # marketing site: landing, blog, pricing, legal (port 3000)
└── collab/ # realtime collaboration server for the course editor (port 4000)
packages/ # shared code: db, auth, api, ui, i18n, email, observability, …
ee/ # enterprise-only code, separately licensed — see ee/README.md
Fastest path — Docker:
cp .env.example .env # fill in COLLAB_TOKEN_SECRET, BETTER_AUTH_SECRET
docker compose up -d --buildSpins up Postgres and all three apps in one go. Full walkthrough, including deploying to a real domain and optional third-party integrations, is in docs/docker.md.
From source instead — Node ≥22, pnpm 10.33, a Postgres database:
pnpm install
# copy apps/app/.env.example, apps/web/.env.example, apps/collab/.env.example,
# and packages/db/.env.example to their .env counterparts and fill them in
pnpm --filter @scibly/db run migrate
pnpm devpnpm dev starts every app together (apps/app on :3001, apps/web on
:3000, apps/collab on :4000). Full walkthrough, including what each
environment variable is for and how to run a single app on its own, is in
docs/setup.md.
See CONTRIBUTING.md for how to get set up and what to run before opening a PR. Participation is governed by the Code of Conduct.
Reference docs:
- Architecture — apps, packages, and how they fit together
- Docker guide — self-host with
docker compose up - Setup guide — full walkthrough, every environment variable, running a single app on its own
- ee/ — the enterprise/commercial-only slice (billing) and why it's separate
- CONTEXT-MAP.md — the product's domain contexts and how they relate
- docs/adr/ — architecture decision records
Scibly is open core: everything outside ee/ is licensed under
AGPLv3 — see LICENSE.
The ee/ directory (Stripe billing) is the enterprise slice: source-available,
but production use requires a separate license from Scibly — see
ee/LICENSE. Why that split, and not more: see
ee/README.md.
