Source: https://seerepo.com/compare/feathersjs/feathers/vs/strapi/strapi
Markdown source: https://seerepo.com/compare/feathersjs/feathers/vs/strapi/strapi.md
Description: feathers and strapi share 9 technologies: Koa, koa-body, koa-compose, bcryptjs, jsonwebtoken, koa-session, knex, Ajv, and ajv-formats. Both are written in TypeScript.

# feathers vs strapi

feathers and strapi share 9 technologies: Koa, koa-body, koa-compose, bcryptjs, jsonwebtoken, koa-session, knex, Ajv, and ajv-formats. Both are written in TypeScript.

- [feathersjs/feathers](https://seerepo.com/r/feathersjs/feathers): The API and real-time application framework
- [strapi/strapi](https://seerepo.com/r/strapi/strapi): 🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

## What they share and what sets them apart

- In common: Koa, koa-body, koa-compose, bcryptjs, jsonwebtoken, koa-session, knex, Ajv, ajv-formats
- Only in feathers: Express, MongoDB, grant, tough-cookie, cookie-session, @sinclair/typebox
- Only in strapi: React, react-router-dom, MCP, @koa/router, Vite, koa-range, nexus, @apollo/server, graphql-scalars, @as-integrations/koa, koa-bodyparser, Sentry, aws-sdk, Zod, boxen, cli-progress, ora, jwks-rsa, yup, styled-components, Strapi, Formik, Radix UI, react-dnd, react-dnd-html5-backend, motion, sonner, @strapi/icons, koa-passport, passport-local, slate, slate-react, dnd-kit, react-window, slate-history, prismjs, dompurify, highlight.js, markdown-it, markdown-it-abbr, markdown-it-container, markdown-it-deflist, markdown-it-emoji, markdown-it-footnote, markdown-it-ins, markdown-it-mark, markdown-it-sub, markdown-it-sup, react-dropzone, @ai-sdk/react, ai, react-markdown, Tailwind CSS, cropperjs, react-select, @mux/mux-player-react, file-type, sharp, handlebars, react-colorful, prop-types, @aws-sdk/client-ses, nodemailer, @sendgrid/mail, @aws-sdk/types, winston, prompts

## Side by side

| | feathers | strapi |
|---|---|---|
| Size | 39,483 lines written, 144 code files | 823,344 lines written, 3,199 code files |
| Who writes it | 0% of its commits signed by AI | 1% of its commits signed by AI. With Claude Code, Cursor, and GitHub Copilot |
| Activity | Last push November 1, 2026, 4,111 commits, 15,256 stars | Last push November 9, 2026, 26,644 commits, 73,448 stars |
| Tests | 105 test files. 29.2% of its code files have a test that imports them | 2,041 test files. 41.7% 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, feathers or strapi?

strapi, with 823,344 lines written; feathers has 39,483.

The proof: [strapi/strapi's code at commit cdeeb2a](https://github.com/strapi/strapi/tree/cdeeb2a1005ab09de89411961dbc9a1180f41492)

### Which has more GitHub stars, feathers or strapi?

strapi, with 73,448 stars; feathers has 15,256.

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

### Which has more tests, feathers or strapi?

strapi, with 2,041 test files; feathers has 105.

The proof: [strapi/strapi's code at commit cdeeb2a](https://github.com/strapi/strapi/tree/cdeeb2a1005ab09de89411961dbc9a1180f41492)

### Which was updated more recently, feathers or strapi?

strapi: its last push was on November 9, 2026, and feathers's on November 1, 2026.

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

### Which has more commits signed by AI, feathers or strapi?

strapi: an AI signed 1% of its commits, with Claude Code, Cursor, and GitHub Copilot.

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

## Sources

- feathersjs/feathers: Read on November 8, 2026, at commit 8c007bc (https://github.com/feathersjs/feathers/tree/8c007bc43e30106bee7158e7f699089232e6e765)
- strapi/strapi: Read on November 9, 2026, at commit cdeeb2a (https://github.com/strapi/strapi/tree/cdeeb2a1005ab09de89411961dbc9a1180f41492)

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