Source: https://seerepo.com/compare/graphile/crystal/vs/twentyhq/twenty
Markdown source: https://seerepo.com/compare/graphile/crystal/vs/twentyhq/twenty.md
Description: crystal and twenty share 5 technologies: Postgres, Express, React, react-error-boundary, and jsonwebtoken. Both are written in TypeScript.

# crystal vs twenty

crystal and twenty share 5 technologies: Postgres, Express, React, react-error-boundary, and jsonwebtoken. Both are written in TypeScript.

- [graphile/crystal](https://seerepo.com/r/graphile/crystal): 🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!
- [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: Postgres, Express, React, react-error-boundary, jsonwebtoken
- Only in crystal: Fastify, Hono, Koa, graphql-http, @whatwg-node/server, H3, @hono/node-server, graphiql, Mermaid, @graphiql/toolkit
- Only in twenty: Vite, Electron, react-router-dom, idb-keyval, Sentry, Stripe, @nestjs/core, bullmq, @nestjs/cache-manager, ClickHouse, Redis, aws-sdk, keyv, connect-redis, Google, AWS S3, Anthropic, MCP, OpenAI, NestJS, graphql-scalars, graphql-yoga, emotion, sharp, Zod, @emotion/styled, jose, @fontsource/inter, @tiptap/core, react-email, css-select, css-what, Base UI, tiptap, React Hook Form, Framer, xyflow, @dnd-kit/react, @floating-ui/react, react-grid-layout, react-hotkeys-hook, 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, marked, react-qr-code, papaparse, react-markdown, remark-gfm, @hookform/resolvers, TypeORM, @nestjs/typeorm, passport-google-oauth20, 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, dompurify, file-type, sanitize-html, html-to-text, class-validator, class-transformer, json-schema, @nestjs/terminus, @aws-sdk/client-lambda, Cloudflare, opentelemetry, entities, lightningcss, PostCSS, frimousse, @tabler/icons-react

## Side by side

| | crystal | twenty |
|---|---|---|
| Size | 878,730 lines written, 536 code files | 2,785,537 lines written, 26,644 code files |
| Who writes it | 0% of its commits signed by AI. With GitHub Copilot | 1.9% of its commits signed by AI. With Claude Code, Cursor, GitHub Copilot, and Sweep |
| Activity | Last push November 9, 2026, 15,796 commits, 12,934 stars | Last push November 5, 2026, 17,869 commits, 60,472 stars |
| Tests | 250 test files. 5.6% 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, crystal or twenty?

twenty, with 2,785,537 lines written; crystal has 878,730.

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

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

twenty, with 60,472 stars; crystal has 12,934.

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

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

twenty, with 7,108 test files; crystal has 250.

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

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

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

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

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

twenty: an AI signed 1.9% of its commits, with Claude Code, Cursor, GitHub Copilot, and Sweep.

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

## Sources

- graphile/crystal: Read on November 10, 2026, at commit 1c037b4 (https://github.com/graphile/crystal/tree/1c037b4fbfcbb3736d3483ac04de711db4f8d09e)
- 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.
