{"adoption": {"forks": 743, "observed_at": "2026-08-28T04:08:51.544372+00:00", "stars": 4502}, "canonical_url": "https://ross.abutalabs.com/products/saas", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Build your own SaaS business with SaaS boilerplate. Productive stack: React, Material-UI, Next, MobX, WebSockets, Express, Node, Mongoose, MongoDB. Written with TypeScript.", "domain": ["web-development", "developer-tools"], "enriched": true, "function": ["auth", "web-framework", "http-server", "websocket", "orm", "email", "file-upload", "templating", "state-management", "ui-components"], "health_score": 27, "homepage": "https://saas-app.async-await.com", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["async-labs/saas"], "name": "async-labs/saas", "platform": ["cloud"], "pushed_at": "2025-03-21T18:07:06+00:00", "repo": "async-labs/saas", "stars": 4502, "tags": ["saas-boilerplate", "starter-template", "full-stack", "mongoose", "nextjs", "typescript", "material-ui", "mobx", "aws-ses", "aws-s3", "mailchimp", "google-oauth", "passport", "multi-tenant", "subscription-billing", "boilerplate", "saas", "nodejs", "react", "express", "mongodb"], "topics": ["saas", "boilerplate", "react", "material-ui", "nextjs", "mobx", "express", "mongoose", "mongodb", "typescript", "google-api", "passport", "aws-ses", "aws-s3", "mailchimp", "saas-boilerplate", "saas-business", "saas-product"], "urls": [], "use_cases": ["build a SaaS product from a starter codebase", "kickstart a full-stack web app with authentication and teams", "learn how to build a production SaaS app from scratch", "start a subscription-based web application with billing-ready structure", "bootstrap a Next.js and Express app with MongoDB", "avoid rebuilding common SaaS features like login, invitations, and file uploads"], "what_it_is": "An open-source SaaS boilerplate web application built with React, Next.js, Express, MongoDB (Mongoose), MobX, WebSockets, and TypeScript. It ships with common SaaS features like authentication, team management, file uploads, and email so developers can focus on building differentiating product features.", "when_to_avoid": ["you use a different stack (e.g. Python, Rails, Postgres-only)", "you want a no-code or low-code SaaS builder rather than source code", "you need a highly opinionated enterprise framework with plugins and CLI tooling", "your product has little in common with typical SaaS app patterns"], "when_to_choose": ["you want a TypeScript full-stack starter with React, Next.js, Express, and MongoDB", "you need common SaaS features (auth, teams, email, file uploads) out of the box", "you want a well-documented boilerplate backed by a book and live demo", "you prefer a MIT-licensed, actively maintained codebase"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/saas", "repo": "async-labs/saas", "role": "main", "score": 38}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.544372+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:31:25.925762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1ee8d4b82dd6c6670cdb1d2ead364bf717b3589b1cd2d2b8fbec269775d61c85", "fetched_at": "2026-08-28T04:08:51.544372+00:00", "kind": "readme", "missing": false, "url": "https://github.com/async-labs/saas"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 12, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3071, "days_push": 530, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 38, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}