Source: https://seerepo.com/compare/rybbit-io/rybbit/vs/TryGhost/Ghost
Markdown source: https://seerepo.com/compare/rybbit-io/rybbit/vs/TryGhost/Ghost.md
Description: rybbit and Ghost share 17 technologies: React, Stripe, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, @number-flow/react, D3, React Hook Form, cmdk, react-day-picker, Lucide, country-flag-icons, Better Auth, papaparse, @hookform/resolvers, and Zod. Both are written in TypeScript.

# rybbit vs Ghost

rybbit and Ghost share 17 technologies: React, Stripe, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, @number-flow/react, D3, React Hook Form, cmdk, react-day-picker, Lucide, country-flag-icons, Better Auth, papaparse, @hookform/resolvers, and Zod. Both are written in TypeScript.

- [rybbit-io/rybbit](https://seerepo.com/r/rybbit-io/rybbit): 🐸 Rybbit - open-source and privacy-friendly alternative to Google Analytics that is 10x more intuitive.
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost): Independent technology for modern publishing, memberships, subscriptions and newsletters.

## What they share and what sets them apart

- In common: React, Stripe, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, @number-flow/react, D3, React Hook Form, cmdk, react-day-picker, Lucide, country-flag-icons, Better Auth, papaparse, @hookform/resolvers, Zod
- Only in rybbit: Next.js, react-native, Fastify, @electric-sql/pglite, sqlstring, ClickHouse, node-cache, Postgres, Redis, MCP, Resend, @fastify/static, next-themes, @uidotdev/usehooks, Framer, tanstack, nivo, Mapbox, ol, react-syntax-highlighter, d3-scale, rrweb-player, vaul, @monaco-editor/react, Cal.com, embla-carousel-react, react-grid-layout, react-hot-toast, react-resizable, @icons-pack/react-simple-icons, @marsidev/react-turnstile, Drizzle, kysely, @react-email/components, pino
- Only in Ghost: Express, Vite, React Router, Preact, bson-objectid, Sentry, Hono, tryghost, lru-cache, bullmq, cache-manager, cache-manager-ioredis, Mailgun, path-match, express-lazy-router, knex, js-yaml, sonner, html2canvas-pro, dompurify, @codemirror/theme-one-dark, @tryghost/custom-fonts, CodeMirror, xyflow, @uiw/react-codemirror, dnd-kit, @floating-ui/react-dom, @svg-maps/world, @tanstack/react-virtual, react-svg-map, validator, Headless UI, tiptap, @doist/react-interpolate, recharts, react-dropzone, @tryghost/bookshelf-plugins, bookshelf, bookshelf-relations, knex-migrator, @tryghost/security, jsonwebtoken, express-session, otplib, cookie-session, cookies, express-jwt, jose, Cheerio, handlebars, sanitize-html, sharp, downsize-cjs, express-hbs, file-type, entities, image-size, heic-convert, html-to-text, html5parser, juice, node-html-markdown, probe-image-size, rss, @tryghost/validator, cron-validate, lexical, markdown-it, markdown-it-footnote, markdown-it-image-lazy-loading, markdown-it-lazy-headers, markdown-it-mark, markdown-it-sub, markdown-it-sup, codemirror-spell-checker, emoji-mart, uiw, @lezer/highlight, react-colorful, react-error-boundary, react-slider, @lexical/markdown, prop-types, @tryghost/logging, Ajv, ajv-formats, @tryghost/debug, nodemailer, parse-email-address

## Side by side

| | rybbit | Ghost |
|---|---|---|
| Size | 297,531 lines written, 1,245 code files | 1,238,529 lines written, 4,184 code files |
| Who writes it | 5.6% of its commits signed by AI. With Claude Code, GitHub Copilot, CodeRabbit, and Cursor | 1.5% of its commits signed by AI. With Codex, Claude Code, Cursor, CodeRabbit, and GitHub Copilot |
| Activity | Last push November 4, 2026, 2,699 commits, 13,256 stars | Last push November 10, 2026, 51,918 commits, 55,720 stars |
| Tests | 327 test files. 32.9% of its code files have a test that imports them | 2,689 test files. 40.1% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, rybbit or Ghost?

Ghost, with 1,238,529 lines written; rybbit has 297,531.

The proof: [TryGhost/Ghost's code at commit 912930c](https://github.com/TryGhost/Ghost/tree/912930cfffda80c38cc74cafe1fc4c08cd866bc8)

### Which has more GitHub stars, rybbit or Ghost?

Ghost, with 55,720 stars; rybbit has 13,256.

The proof: [TryGhost/Ghost on GitHub](https://github.com/TryGhost/Ghost)

### Which has more tests, rybbit or Ghost?

Ghost, with 2,689 test files; rybbit has 327.

The proof: [TryGhost/Ghost's code at commit 912930c](https://github.com/TryGhost/Ghost/tree/912930cfffda80c38cc74cafe1fc4c08cd866bc8)

### Which was updated more recently, rybbit or Ghost?

Ghost: its last push was on November 10, 2026, and rybbit's on November 4, 2026.

The proof: [TryGhost/Ghost's commits on GitHub](https://github.com/TryGhost/Ghost/commits)

### Which has more commits signed by AI, rybbit or Ghost?

rybbit: an AI signed 5.6% of its commits, with Claude Code, GitHub Copilot, CodeRabbit, and Cursor; in Ghost, 1.5%.

The proof: [the commits each tool signed in rybbit-io/rybbit](https://seerepo.com/r/rybbit-io/rybbit/ai)

## Sources

- rybbit-io/rybbit: Read on November 10, 2026, at commit 4288204 (https://github.com/rybbit-io/rybbit/tree/4288204761ed2fc801fcaa0b3bbfacd1b8cc3936)
- TryGhost/Ghost: Read on November 10, 2026, at commit 912930c (https://github.com/TryGhost/Ghost/tree/912930cfffda80c38cc74cafe1fc4c08cd866bc8)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
