Source: https://seerepo.com/compare/OpenCTI-Platform/opencti/vs/twentyhq/twenty
Markdown source: https://seerepo.com/compare/OpenCTI-Platform/opencti/vs/twentyhq/twenty.md
Description: opencti and twenty share 21 technologies: Vite, React, Redis, OpenAI, graphql-scalars, D3, react-grid-layout, dompurify, react-markdown, marked, remark-gfm, Passport, jose, aws-sdk, express-session, openid-client, otplib, file-type, nodemailer, sanitize-html, and Zod. Both are written in TypeScript.

# opencti vs twenty

opencti and twenty share 21 technologies: Vite, React, Redis, OpenAI, graphql-scalars, D3, react-grid-layout, dompurify, react-markdown, marked, remark-gfm, Passport, jose, aws-sdk, express-session, openid-client, otplib, file-type, nodemailer, sanitize-html, and Zod. Both are written in TypeScript.

- [OpenCTI-Platform/opencti](https://seerepo.com/r/OpenCTI-Platform/opencti): Open Cyber Threat Intelligence Platform
- [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, Redis, OpenAI, graphql-scalars, D3, react-grid-layout, dompurify, react-markdown, marked, remark-gfm, Passport, jose, aws-sdk, express-session, openid-client, otplib, file-type, nodemailer, sanitize-html, Zod
- Only in opencti: FastAPI, pika, starlette, uvicorn, react-relay, React Router, Express, lru-cache, amqplib, @aws-sdk/lib-storage, @sesamecare-oss/redlock, Elastic, OpenSearch, Mistral AI, @apollo/server, @as-integrations/express5, sphinx-rtd-theme, pyjwt, Pydantic, python-json-logger, prometheus-client, boto3, OpenTelemetry, opentelemetry-exporter-prometheus, MUI, Formik, apexcharts, reactflow, jsonforms, react-force-graph-2d, @hello-pangea/dnd, react-mde, react-syntax-highlighter, react-virtualized, react-virtualized-auto-sizer, rjsf, @graphiql/toolkit, d3-timer, MapLibre, react-apexcharts, react-color, react-draggable, react-transition-group, recharts, three-spritetext, @mui/icons-material, pdfmake, html-react-parser, react-pdf, qrcode, html-to-image, is-svg, markdown-to-jsx, remark-parse, yup, prop-types, @cfworker/json-schema, @rjsf/utils, @opentelemetry/sdk-logs, bcryptjs, @node-saml/passport-saml, helmet, jwt-decode, passport-ldapauth, passport-facebook, passport-google-oauth, passport-local, LangChain, EJS, turndown, csv-parse, xml2js, Ajv, validator, ajv-formats, @aws-sdk/types, @pyroscope/nodejs, winston, winston-daily-rotate-file
- Only in twenty: Electron, react-router-dom, idb-keyval, Sentry, Stripe, NestJS, bullmq, Postgres, @nestjs/cache-manager, ClickHouse, keyv, connect-redis, Google, MCP, AWS S3, Anthropic, graphql-yoga, emotion, sharp, @sniptt/guards, @emotion/styled, @fontsource/inter, @recallai/desktop-sdk, @tiptap/core, react-email, css-select, css-what, react-error-boundary, linaria, fontsource, tiptap, React Hook Form, Framer, xyflow, @dnd-kit/react, nivo, @floating-ui/react, react-hotkeys-hook, react-intersection-observer, react-data-grid, react-imask, @dr.pogodin/react-helmet, monaco-editor, react-dropzone, react-textarea-autosize, Cal.com, input-otp, linkify-react, react-phone-number-input, @dagrejs/dagre, @graphiql/plugin-explorer, Base UI, Scalar, country-flag-icons, ai, xlsx-ugnis, react-qr-code, @cyntler/react-doc-viewer, papaparse, @hookform/resolvers, TypeORM, @nestjs/typeorm, passport-google-oauth20, jsonwebtoken, @azure/msal-node, bcrypt, node-saml, passport-jwt, passport-microsoft, ai-sdk, @e2b/code-interpreter, imapflow, @aws-sdk/client-sesv2, postal-mime, node-ical, @react-pdf/renderer, addressparser, ical-generator, email-reply-parser, entities, html-to-text, class-validator, class-transformer, json-schema, sns-payload-validator, @nestjs/terminus, @aws-sdk/client-lambda, Cloudflare, opentelemetry, lightningcss, PostCSS, frimousse, react-datepicker, @tabler/icons-react

## Side by side

| | opencti | twenty |
|---|---|---|
| Size | 1,058,731 lines written, 4,152 code files | 2,893,814 lines written, 28,781 code files |
| Who writes it | 1.7% of its commits signed by AI. With Claude Code, GitHub Copilot, and Cursor | 1.9% of its commits signed by AI. With Claude Code, Cursor, GitHub Copilot, and Sweep |
| Activity | Last push November 13, 2026, 14,738 commits, 10,360 stars | Last push November 12, 2026, 18,333 commits, 60,854 stars |
| Tests | 1,727 test files. 28.2% of its code files have a test that imports them | 7,567 test files. 28.2% 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, opencti or twenty?

twenty, with 2,893,814 lines written; opencti has 1,058,731.

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

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

twenty, with 60,854 stars; opencti has 10,360.

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

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

twenty, with 7,567 test files; opencti has 1,727.

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

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

opencti: its last push was on November 13, 2026, and twenty's on November 12, 2026.

The proof: [OpenCTI-Platform/opencti's commits on GitHub](https://github.com/OpenCTI-Platform/opencti/commits)

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

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

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

## Sources

- OpenCTI-Platform/opencti: Read on November 13, 2026, at commit 76306f3 (https://github.com/OpenCTI-Platform/opencti/tree/76306f3f08eaced718557776cce3a7e0b868d666)
- twentyhq/twenty: Read on November 12, 2026, at commit f92e6d4 (https://github.com/twentyhq/twenty/tree/f92e6d41312f3d026ef0edac532c2c6c741f28b8)

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