SaaS starters · Rank #29

B

ottabase

Grade B: derived only from the two verdicts below. How grades work

Full-stack SaaS monorepo for Cloudflare Workers. ORM, auth, RBAC, multi-tenancy, queues, realtime, blog. Edge-native, all included, for Solo Founders

Active1 major behindFree

Why this verdict

How we check →
  • 180 commits by 1 contributor in the last 90 days (80 in the last 30). receipt ↗
  • Tailwind CSS 3 declared; latest is 4 (1 major behind). receipt ↗
  • Zod 3 declared; latest is 4 (1 major behind). receipt ↗
  • On current major: Drizzle, Next.js, React. receipt ↗
  • Not counted in verdict: TypeScript 5 → 7. receipt ↗

Snapshot: commit aaffc56 on main, checked 2026-10-19 07:47 UTC. Receipts link to files at this exact commit.

Dependency freshness

PackageDeclaredLatestStatus
TypeScript typescript5.9.37.0.2Behind, not counted
Tailwind CSS tailwindcss3.4.194.3.31 major behind
Zod zod3.24.14.6.71 major behind
Drizzle drizzle-orm0.45.20.45.4Current
Next.js next16.1.116.4.2Current
React react19.2.419.3.1Current

Declared = lowest version the kit's dependency file (package.json, pyproject.toml or requirements.txt) allows. Latest = the npm "latest" tag or the newest PyPI release. TypeScript, the Stripe SDK, FastAPI and other 0.x packages are shown but not counted in the verdict.

What's in the stack

Framework
Next.js, Vite
Database / ORM
Drizzle
UI
Tailwind CSS, Mantine
API layer
TanStack Query
Testing
Vitest

Detected from declared dependencies. A listed package means it's installed, not necessarily fully wired up.

What the README says you get

  • Admin
    Role-based access controlRole-based access control with per-org KV caching
  • Admin
    Audit loggingAudit logging with change tracking and RBAC context
  • Analytics
    Analytics EngineCloudflare Analytics Engine (WAE) - write events, query, funnel, top-K
  • API
    Workers routerCloudflare Workers router - order-free precedence, middleware, mounts
  • API
    Customer API keysAPI keys for your customers: hashed, scoped, expiring, revocable, shown once
  • Auth
    Custom authLightweight custom auth: signed sessions, OAuth, Credentials, Magic Link
  • Billing
    Entitlements and plansEntitlements: plans, features, limits, operator overrides, 402 guards
  • Billing
    Usage creditsUsage credits: atomic per-tenant balances, periods, top-ups, a pruned ledger
  • Data
    Fat models ORMFat models, CRUD, relationships, RLS, auto-migrations
  • Data
    Auto-migrationsTables created automatically from schema
  • Email
    Inbound mail handlingInbound mail (Email Routing), suppression list, one-click unsubscribe, Resend/SES bounces
  • Other
    Job queueJob queue (dispatch, handlers, deduplication, chaining, priority)
  • Other
    Cron handlersCron handlers - static code-defined and DB scheduler (Laravel-style)
  • Other
    HTML-to-PDF exportCloudflare HTML-to-PDF export with Browser Rendering and safe downloads

Extracted from the kit's README by a local AI model (deepseek-flash) on Oct 19, 2026. Every item is checked against an exact README quote. A README claim is the maker's description, not something we tested.

Watch ottabase

Get told if it goes dormant, gets archived, falls further behind on a core dependency, or changes its license or price.

You'll get a confirmation email first. One click to unsubscribe. Watch as many kits as you like.

RSS feed for ottabase · all changes

History

Sep 29, 2026 → Oct 19, 2026. One square per check, colored by maintenance status. Hover for details.

Show as a table
DateMaintenanceDependenciesCommits (90d)
Oct 19, 2026Active1 major behind180
Oct 12, 2026Active1 major behind186
Sep 29, 2026Active1 major behind168

Sources

Every claim on this page comes from these public records, checked . Open them to verify.

Maintainer? Add the badge

It updates automatically every time we refresh the evidence. Clicking it opens this page.

kitproof badge for ottabase
[![kitproof](https://kitproof.dev/badge/ottabase.svg)](https://kitproof.dev/kits/ottabase/)