Source: https://seerepo.com/compare/emdash-cms/emdash/vs/twentyhq/twenty
Markdown source: https://seerepo.com/compare/emdash-cms/emdash/vs/twentyhq/twenty.md
Description: emdash and twenty share 13 technologies: Vite, React, Postgres, MCP, jose, marked, sanitize-html, tiptap, react-hotkeys-hook, @floating-ui/react, dompurify, Zod, and lightningcss. Both are written in TypeScript.

# emdash vs twenty

emdash and twenty share 13 technologies: Vite, React, Postgres, MCP, jose, marked, sanitize-html, tiptap, react-hotkeys-hook, @floating-ui/react, dompurify, Zod, and lightningcss. Both are written in TypeScript.

- [emdash-cms/emdash](https://seerepo.com/r/emdash-cms/emdash): EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty): The open alternative to Salesforce, designed for AI.

## What they share and what sets them apart

- In common: Vite, React, Postgres, MCP, jose, marked, sanitize-html, tiptap, react-hotkeys-hook, @floating-ui/react, dompurify, Zod, lightningcss
- Only in emdash: Hono, Astro, @tanstack/react-router, Tailwind CSS, @phosphor-icons/react, image-size, tailwind-merge, dnd-kit, react-day-picker, @lezer/highlight, CodeMirror, lowlight, react-image-crop, highlight.js, kysely, echarts, @astrojs/cloudflare, arctic, blurhash, jpeg-js, sax, upng-js, @apidevtools/swagger-parser, zod-openapi, @clack/prompts, parse5, @astro-community/astro-embed-youtube, yaml
- Only in twenty: Electron, react-router-dom, idb-keyval, Sentry, Stripe, Express, @nestjs/core, bullmq, @nestjs/cache-manager, ClickHouse, Redis, aws-sdk, keyv, connect-redis, Google, AWS S3, Anthropic, OpenAI, NestJS, graphql-scalars, graphql-yoga, emotion, sharp, @emotion/styled, @fontsource/inter, @tiptap/core, react-email, css-select, css-what, react-error-boundary, Base UI, React Hook Form, Framer, xyflow, @dnd-kit/react, react-grid-layout, react-intersection-observer, react-data-grid, react-imask, input-otp, monaco-editor, react-dropzone, react-textarea-autosize, linkify-react, @dagrejs/dagre, @graphiql/plugin-explorer, Scalar, country-flag-icons, ai, react-qr-code, papaparse, react-markdown, remark-gfm, @hookform/resolvers, TypeORM, @nestjs/typeorm, passport-google-oauth20, jsonwebtoken, openid-client, @azure/msal-node, bcrypt, express-session, otplib, passport-jwt, passport-microsoft, @node-saml/passport-saml, Passport, ai-sdk, @e2b/code-interpreter, nodemailer, @aws-sdk/client-sesv2, node-ical, @react-pdf/renderer, file-type, html-to-text, class-validator, class-transformer, json-schema, @nestjs/terminus, @aws-sdk/client-lambda, Cloudflare, opentelemetry, entities, PostCSS, frimousse, @tabler/icons-react

## Side by side

| | emdash | twenty |
|---|---|---|
| Size | 1,316,006 lines written, 2,085 code files | 2,785,537 lines written, 26,644 code files |
| Who writes it | 8.5% of its commits signed by AI. With Claude Code, GitHub Copilot, Cursor, and Amp | 1.9% of its commits signed by AI. With Claude Code, Cursor, GitHub Copilot, and Sweep |
| Activity | Last push November 9, 2026, 2,843 commits, 14,309 stars | Last push November 5, 2026, 17,869 commits, 60,472 stars |
| Tests | 1,954 test files. 59.5% of its code files have a test that imports them | 7,108 test files. 29% 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, emdash or twenty?

twenty, with 2,785,537 lines written; emdash has 1,316,006.

The proof: [twentyhq/twenty's code at commit 8919279](https://github.com/twentyhq/twenty/tree/8919279eb61454c40b27b118d9b43ab0e7a3e040)

### Which has more GitHub stars, emdash or twenty?

twenty, with 60,472 stars; emdash has 14,309.

The proof: [twentyhq/twenty on GitHub](https://github.com/twentyhq/twenty)

### Which has more tests, emdash or twenty?

twenty, with 7,108 test files; emdash has 1,954.

The proof: [twentyhq/twenty's code at commit 8919279](https://github.com/twentyhq/twenty/tree/8919279eb61454c40b27b118d9b43ab0e7a3e040)

### Which was updated more recently, emdash or twenty?

emdash: its last push was on November 9, 2026, and twenty's on November 5, 2026.

The proof: [emdash-cms/emdash's commits on GitHub](https://github.com/emdash-cms/emdash/commits)

### Which has more commits signed by AI, emdash or twenty?

emdash: an AI signed 8.5% of its commits, with Claude Code, GitHub Copilot, Cursor, and Amp; in twenty, 1.9%.

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

## Sources

- emdash-cms/emdash: Read on November 9, 2026, at commit 2ae29db (https://github.com/emdash-cms/emdash/tree/2ae29db9a0ab4519b2ce97c1af22516f867ff058)
- twentyhq/twenty: Read on November 5, 2026, at commit 8919279 (https://github.com/twentyhq/twenty/tree/8919279eb61454c40b27b118d9b43ab0e7a3e040)

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