Source: https://seerepo.com/compare/TryGhost/Ghost/vs/usekaneo/kaneo
Markdown source: https://seerepo.com/compare/TryGhost/Ghost/vs/usekaneo/kaneo.md
Description: Ghost and kaneo share 20 technologies: Vite, React, Sentry, Hono, Tailwind CSS, sonner, Radix UI, React Hook Form, dompurify, Zod, @hookform/resolvers, dnd-kit, @tanstack/react-virtual, Lucide, tiptap, react-day-picker, class-variance-authority, tailwind-merge, Better Auth, and nodemailer. Both are written in TypeScript.

# Ghost vs kaneo

Ghost and kaneo share 20 technologies: Vite, React, Sentry, Hono, Tailwind CSS, sonner, Radix UI, React Hook Form, dompurify, Zod, @hookform/resolvers, dnd-kit, @tanstack/react-virtual, Lucide, tiptap, react-day-picker, class-variance-authority, tailwind-merge, Better Auth, and nodemailer. Both are written in TypeScript.

- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost): Independent technology for modern publishing, memberships, subscriptions and newsletters.
- [usekaneo/kaneo](https://seerepo.com/r/usekaneo/kaneo): ⚡ Project management that doesn't become the project. Boards, Gantt charts, and GitHub integration. Self-host it or use Kaneo Cloud.

## What they share and what sets them apart

- In common: Vite, React, Sentry, Hono, Tailwind CSS, sonner, Radix UI, React Hook Form, dompurify, Zod, @hookform/resolvers, dnd-kit, @tanstack/react-virtual, Lucide, tiptap, react-day-picker, class-variance-authority, tailwind-merge, Better Auth, nodemailer
- Only in Ghost: Express, React Router, Preact, bson-objectid, tryghost, lru-cache, cache-manager, cache-manager-ioredis, Stripe, Mailgun, path-match, express-lazy-router, html2canvas-pro, @codemirror/theme-one-dark, @tryghost/custom-fonts, CodeMirror, xyflow, @uiw/react-codemirror, @floating-ui/react-dom, @svg-maps/world, D3, react-svg-map, papaparse, validator, Headless UI, @doist/react-interpolate, recharts, cmdk, @number-flow/react, react-dropzone, country-flag-icons, knex, @tryghost/bookshelf-plugins, bookshelf, bookshelf-relations, knex-migrator, @tryghost/security, jsonwebtoken, express-session, otplib, cookie-session, cookies, express-jwt, jose, Cheerio, handlebars, sanitize-html, downsize-cjs, express-hbs, file-type, js-yaml, 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, sharp, parse-email-address
- Only in kaneo: Postgres, @aws-sdk/s3-request-presigner, Redis, MCP, AWS S3, @hono/zod-openapi, react-native, Expo, @react-native-async-storage/async-storage, expo-secure-store, tanstack, Drizzle, bcryptjs, valibot, @hono/node-server, react-native-safe-area-context, react-native-svg, expo-image, expo-splash-screen, expo-status-bar, react-native-gesture-handler, expo-image-manipulator, expo-image-picker, react-native-markdown-display, Base UI, motion, input-otp, Mermaid, tippy.js, shiki, jpeg-js, pngjs, @tiptap/markdown, react-email, turndown, turndown-plugin-gfm, prompts

## Side by side

| | Ghost | kaneo |
|---|---|---|
| Size | 1,254,280 lines written, 4,224 code files | 432,743 lines written, 3,341 code files |
| Who writes it | 1.5% of its commits signed by AI. With Codex, Claude Code, Cursor, CodeRabbit, Amp, and GitHub Copilot | 3.2% of its commits signed by AI. With Claude Code, CodeRabbit, Cursor, and GitHub Copilot |
| Activity | Last push November 13, 2026, 52,111 commits, 55,801 stars | Last push November 14, 2026, 3,478 commits, 9,804 stars |
| Tests | 2,703 test files. 40% of its code files have a test that imports them | 1,092 test files. 34.9% 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, Ghost or kaneo?

Ghost, with 1,254,280 lines written; kaneo has 432,743.

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

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

Ghost, with 55,801 stars; kaneo has 9,804.

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

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

Ghost, with 2,703 test files; kaneo has 1,092.

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

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

kaneo: its last push was on November 14, 2026, and Ghost's on November 13, 2026.

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

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

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

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

## Sources

- TryGhost/Ghost: Read on November 13, 2026, at commit fd6f4f7 (https://github.com/TryGhost/Ghost/tree/fd6f4f749a613a540f7218f26c8cef4c282b15c2)
- usekaneo/kaneo: Read on November 14, 2026, at commit 70a9d79 (https://github.com/usekaneo/kaneo/tree/70a9d79b5e9ad25b6e45d15d52a8aeae7383d0bf)

## 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.
