Open-source project
laishiwen/sven-family avatar
laishiwen/sven-family

Sven Family: An AI-Native Monorepo for Studio, Community, Site and Admin

Sven Family is an AI-native product suite that connects creation, collaboration, publishing, and operations into one integrated platform.

613 stars45 forksTypeScriptMIT

At a glance

What is it?
Sven Family bundles a visual AI workflow editor, a community app, a marketing site and an admin dashboard behind shared Python services. The README documents the full stack, the ports and the install path; it does not document deployment, rollback or versioning policy.
Who is it for?
Sven Family suits teams that want one repository for an AI workflow editor plus the community, site and admin surfaces around it, and that already run PostgreSQL, Redis and Docker. It is a poor fit if you only need a workflow editor, because Studio ships inside a monorepo whose other apps you would still install and configure through pnpm install and the per-service .env.example files.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 98 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Sven Family actually bundles

Sven Family is not a single application. The README describes six modules under one repository: Studio, a visual editor for building and running AI workflows that runs as a web app and an Electron desktop app; Community, for knowledge sharing and team discussions; Site, for product-facing pages; Admin, a dashboard for content, users, data and services; Crawler, a data collection and ingestion pipeline; and Stats, which aggregates usage metrics. The stated value is one platform for creators, operators and community members, with an end-to-end flow from content generation to distribution and governance. That sentence is the whole pitch, and it is also the constraint: the four product experiences share backend services, so the repository is organised as a monorepo rather than as separate installable products. The audience implied by the module list is a small product team that wants its publishing surface, its user community and its internal operations console to sit on the same database and the same deployment story. The repository is licensed MIT and the primary language is TypeScript, though four of the six backend services are Python.

Repository layout and the service map

The top level splits into frontend/, backend/, studio/ and assets/. Under frontend/ sit admin-frontend (Vite and React), community (Next.js) and site (Next.js). Under backend/ sit admin-backend, community-backend, crawler and stats-service, all Python. Under studio/ sit frontend, desktop (Electron) and backend. The workspace globs in package.json are studio/* and frontend/*, which means the Python services are not pnpm workspace members; they are started through scripts that cd into each directory and call uv run python run.py. The service map assigns fixed ports: Studio Web on 3000, Studio API on 8000, Site on 3001, Community on 3002, Community public API on 50051, Community admin API on 50052, Admin Frontend on 5174, Admin API on 8001, Stats Service on 8002, Crawler on 9100, PostgreSQL on 5432 and Redis on 6379. That is nine application ports plus two infrastructure ports, and the dev:stop script hardcodes the same list when it kills processes with lsof and xargs kill -9. Anyone running more than one project locally will notice the collision risk on 3000, 3001 and 3002, which are common defaults.

Installing it and starting Studio

The README lists Node.js 20 or later, pnpm 11 or later, Python 3.11 or later, uv as the recommended Python package manager, Docker and Docker Compose, and PostgreSQL 15 with Redis 7 supplied through Docker. The first step is the clone and workspace install:

bash
git clone https://github.com/laishiwen/sven-family.git
cd sven-family
pnpm install

After that, copy the environment templates for the services you intend to run. Each service has its own .env.example, and the README says to edit each .env with local database credentials and secrets.

bash
cp backend/admin-backend/.env.example backend/admin-backend/.env
cp backend/community-backend/.env.example backend/community-backend/.env
cp backend/crawler/.env.example backend/crawler/.env
cp backend/stats-service/.env.example backend/stats-service/.env
cp frontend/community/.env.example frontend/community/.env
cp frontend/site/.env.example frontend/site/.env
cp studio/frontend/.env.example studio/frontend/.env

Infrastructure comes up through the compose file, which defines redis:7-alpine and postgres:15-alpine with named volumes and a default POSTGRES_PASSWORD of 123456 unless the environment overrides it.

bash
docker compose up -d postgres redis

Migrations run per backend service with Alembic through uv:

bash
cd backend/admin-backend && uv run alembic upgrade head
cd ../community-backend && uv run alembic upgrade head

For a first real use, the shortest path to something visible is the Studio pair, which starts the API and the web editor together:

bash
pnpm dev:studio:full

The README's access table says Studio should then be reachable at http://localhost:3000 and the Studio API listens on 8000. If you want the whole stack instead, pnpm dev:docker builds the compose services, polls port 3000 until it answers, then starts the Electron desktop app; pnpm dev:front starts all frontends and pnpm dev:back starts all five Python services in the background.

Where the documentation stops

The README is a table of contents with a quick start attached. It links to CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, ROADMAP.md and CHANGELOG.md, and it does not reproduce their contents. Nothing in the README describes how to deploy any of this outside a local machine: there is no production compose file, no reverse proxy configuration, no note on how the Vercel-hosted admin frontend at sven-family-admin-frontend.vercel.app relates to the local build, and no documented rollback procedure for the Alembic migrations that step 4 applies. The compose file that is present is explicitly a development one. Its container names end in -dev, the community backend mounts ./backend/community-backend into /app, the admin API runs uvicorn with --reload, and JWT_SECRET_KEY is set to the literal string change-me-in-production. The README does not say which of those values must change before the stack is exposed to anything, though the placeholder string is self-explanatory. There is also no documented test command in the README, so a reader cannot tell from it alone how to verify a change beyond starting the services.

The monorepo coupling is the real trade-off

The stated core value is an extensible architecture for multi-app and multi-service growth, and the layout supports that: adding a fifth frontend means adding a directory under frontend/ and a workspace glob already covers it. The cost is that nothing is separable at install time. Studio's desktop build scripts sit in the root package.json next to the backend dev scripts, and the root dev:back script starts five services with a single command that backgrounds each one. If you only want the visual workflow editor, you still run pnpm install at the root, which resolves the workspace for studio/* and frontend/*, and you still read the .env.example files for services you will never start. The two-backend split inside Community is worth noting as well: community-backend and community-admin are built from the same context but run with different APP_MODE values, public on port 50051 and admin on 50052, sharing one DATABASE_URL pointing at the community database. That is a deliberate separation of public and administrative surfaces, and it means the community database is a single point of failure for both.

How it compares to assembling the pieces yourself

The obvious alternative is not another monorepo but a stack of separate tools: a workflow editor such as n8n or Node-RED for the Studio role, a forum or discussion product for Community, a static site generator for Site, and a separate admin panel. The difference in approach is ownership of the seams. Sven Family defines the seams itself: shared PostgreSQL 15, shared Redis 7, Alembic for migrations, FastAPI with async SQLAlchemy for every backend service, and a Turborepo plus pnpm workspace for the JavaScript side. Assembling separate tools means you choose each seam independently, which is more work but also means upgrading the workflow editor does not touch the community database. Sven Family's approach pays off when the four experiences genuinely share data, for example when content produced in Studio is published through Site and governed through Admin. If they do not share data, the monorepo is overhead. The README does not describe any integration contract between the modules, so the shared-data argument rests on the service map and the shared database rather than on documented APIs.

Licence, maintenance and upgrade cost

The repository is MIT licensed, and the contributing section states that by contributing you agree your contributions are licensed under the MIT License. MIT is permissive: it allows commercial use and modification, and it requires the licence and copyright notice to be preserved. It offers no patent grant, which matters if you plan to build a product on top of the code; that is a general property of MIT rather than anything specific to this project, and it is not legal advice. On maintenance, the last push to the default branch was on 2026-06-26, and the only release listed is v1.0.0 (Sven Studio) from 2026-05-23. The repository is not archived. The upgrade cost is dominated by the migration step: two separate Alembic histories, one per backend that has migrations in the quick start, both applied against PostgreSQL 15, and no documented downgrade path. A version bump that changes a model also changes what pnpm dev:docker builds, since the compose file builds each backend from its own context. The root package.json pins the package manager as [email protected], so a different pnpm major will produce a different lockfile resolution.

Editorial conclusion

Sven Family suits teams that want one repository for an AI workflow editor plus the community, site and admin surfaces around it, and that already run PostgreSQL, Redis and Docker. It is a poor fit if you only need a workflow editor, because Studio ships inside a monorepo whose other apps you would still install and configure through pnpm install and the per-service .env.example files. Before adopting it, verify three things in the repository itself: whether the .env.example files list every variable the services read, whether the ROADMAP.md entries are still open, and whether the two Alembic migration histories can be applied from an empty database. The last push was on 2026-06-26.

Frequently asked questions

What is Sven Family and who is it for?

It is an AI-native product suite that connects creation, collaboration, publishing and operations into one integrated platform, per the README. It is aimed at teams that want a visual AI workflow editor alongside a community app, a product site and an admin dashboard on shared backend services.

What do I need installed before running Sven Family?

The README lists Node.js 20 or later, pnpm 11 or later, Python 3.11 or later, uv as the recommended Python package manager, and Docker with Docker Compose. PostgreSQL 15 and Redis 7 are provided through the compose file.

Which ports does Sven Family use?

The service map assigns Studio Web to 3000, Studio API to 8000, Site to 3001, Community to 3002, Community public API to 50051, Community admin API to 50052, Admin Frontend to 5174, Admin API to 8001, Stats Service to 8002 and Crawler to 9100, with PostgreSQL on 5432 and Redis on 6379.

How do I start only the Studio editor and its API?

The root package.json defines pnpm dev:studio:full, which runs the Studio API and the Studio web frontend together. The README's access table then points to http://localhost:3000.

What licence does Sven Family use?

The repository is MIT licensed, and the contributing section states that contributions are licensed under the MIT License as well. The README does not discuss any additional terms.

Does the README explain how to deploy Sven Family to production?

No. The only compose file in the repository is a development one, with container names ending in -dev, a bind mount of the backend source and a JWT_SECRET_KEY set to the placeholder change-me-in-production. The README does not document a production deployment path or a migration rollback.

Official sources

  1. laishiwen/sven-family on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/laishiwen-sven-family.svg)](https://hysenlabs.com/projects/laishiwen-sven-family)