Source: https://seerepo.com/compare/laurent22/joplin/vs/NanmiCoder/cc-haha
Markdown source: https://seerepo.com/compare/laurent22/joplin/vs/NanmiCoder/cc-haha.md
Description: joplin and cc-haha share 20 technologies: React, Electron, react-native, Expo, sharp, pdfjs-dist, react-native-safe-area-context, expo-camera, react-native-svg, expo-image-manipulator, ProseMirror, prosemirror-view, prosemirror-history, prosemirror-commands, prosemirror-keymap, dompurify, highlight.js, katex, qrcode, and turndown. Both are written in TypeScript.

# joplin vs cc-haha

joplin and cc-haha share 20 technologies: React, Electron, react-native, Expo, sharp, pdfjs-dist, react-native-safe-area-context, expo-camera, react-native-svg, expo-image-manipulator, ProseMirror, prosemirror-view, prosemirror-history, prosemirror-commands, prosemirror-keymap, dompurify, highlight.js, katex, qrcode, and turndown. Both are written in TypeScript.

- [laurent22/joplin](https://seerepo.com/r/laurent22/joplin): Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
- [NanmiCoder/cc-haha](https://seerepo.com/r/NanmiCoder/cc-haha): 本地优先的跨平台 Claude Code / AI Agent 桌面工作台：多 Agent 协作、Git Worktree、代码 Diff、技能市场、多模型、Computer Use、桌面宠物；支持微信、飞书、钉钉及 H5 等远程访问。 | Local-first Claude Code / AI Agent desktop workspace: multi-agent teams, Git worktrees, diffs, skills marketplace, multi-model, Computer Use, task-aware desktop pets; remote via WeChat, Feishu, DingTalk, Telegram, WhatsApp & H5.

## What they share and what sets them apart

- In common: React, Electron, react-native, Expo, sharp, pdfjs-dist, react-native-safe-area-context, expo-camera, react-native-svg, expo-image-manipulator, ProseMirror, prosemirror-view, prosemirror-history, prosemirror-commands, prosemirror-keymap, dompurify, highlight.js, katex, qrcode, turndown
- Only in joplin: SQLite, sqlite-vec, Sentry, expo-sqlite, hermes-android, react-android, @aws-sdk/s3-request-presigner, node-persist, AWS S3, Koa, Postgres, Stripe, koa-body, react-native-nitro-modules, prompts, tinymce, tkwidgets, CodeMirror, terminal-kit, keytar, file-type, html-entities, styled-components, styled-system, xyflow, re-resizable, @joeattardi/emoji-button, mark.js, react-select, react-toggle-button, react-tooltip, taboverride, onnxruntime-node, markdown-it, react-native-paper, react-native-webview, js-draw, react-native-popup-menu, react-native-dropdownalert, react-native-modal-datetime-picker, react-native-quick-actions, react-native-vector-icons, @js-draw/material-icons, expo-local-authentication, @react-native-documents/picker, react-native-file-viewer, react-native-image-picker, logger, prosemirror-model, @lezer/highlight, prosemirror-search, @replit/codemirror-vim, prosemirror-example-setup, prosemirror-schema-list, prosemirror-tables, prosemirror-dropcursor, prosemirror-gapcursor, prosemirror-transform, @lezer/markdown, @adobe/css-tools, tesseract.js, js-yaml, fast-xml-parser, image-data-uri, mustache, pdf-lib, xml2js, askama, cab, log, fortawesome, appcompat, documentfile, font-awesome-filetypes, markdown-it-abbr, markdown-it-anchor, markdown-it-deflist, markdown-it-emoji, markdown-it-expand-tabs, markdown-it-footnote, markdown-it-ins, markdown-it-mark, markdown-it-multimd-table, markdown-it-sub, markdown-it-sup, markdown-it-toc-done-right, knex, otplib, bcryptjs, samlify, zxcvbn, nodemailer, @authenio/samlify-xmllint-wasm, @mixmark-io/domino
- Only in cc-haha: lru-cache, Anthropic, MCP, react-reconciler, grammy, Vite, Tauri, tauri-runtime-wry, androidx.core:core-ktx, @react-native-async-storage/async-storage, expo-secure-store, com.facebook.react:react-android, x11rb, uiautomation, usehooks-ts, core-graphics, ink, asciichart, cli-boxes, agent-desktop-core, @aws-sdk/client-bedrock-runtime, marked, png, yaml, pillow, xss, Zod, Ajv, tracing, OpenTelemetry, tracing-subscriber, psutil, Tailwind CSS, prism-react-renderer, xterm, prosemirror-state, dnd-kit, Mermaid, react-diff-viewer-continued, react-shiki, tauri-plugin-dialog, tauri-plugin-notification, Lucide, docx-preview, html2canvas, shiki, xlsx, expo-font, expo-linear-gradient, expo-status-bar, @expo/ui, expo-widgets, react-native-image-viewing, expo-image-picker, expo-document-picker

## Side by side

| | joplin | cc-haha |
|---|---|---|
| Size | 501,732 lines written, 2,469 code files | 1,895,975 lines written, 5,295 code files |
| Who writes it | 0.1% of its commits signed by AI. With Claude Code and CodeRabbit | 15.2% of its commits signed by AI. With Claude Code, Codex, and GitHub Copilot |
| Activity | Last push November 10, 2026, 15,363 commits, 57,121 stars | Last push November 9, 2026, 2,228 commits, 15,369 stars |
| Tests | 946 test files. 25.9% of its code files have a test that imports them | 3,172 test files. 50.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, joplin or cc-haha?

cc-haha, with 1,895,975 lines written; joplin has 501,732.

The proof: [NanmiCoder/cc-haha's code at commit 9800f4b](https://github.com/NanmiCoder/cc-haha/tree/9800f4b5b3747e758d61d9bf8f8886edbb202039)

### Which has more GitHub stars, joplin or cc-haha?

joplin, with 57,121 stars; cc-haha has 15,369.

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

### Which has more tests, joplin or cc-haha?

cc-haha, with 3,172 test files; joplin has 946.

The proof: [NanmiCoder/cc-haha's code at commit 9800f4b](https://github.com/NanmiCoder/cc-haha/tree/9800f4b5b3747e758d61d9bf8f8886edbb202039)

### Which was updated more recently, joplin or cc-haha?

joplin: its last push was on November 10, 2026, and cc-haha's on November 9, 2026.

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

### Which has more commits signed by AI, joplin or cc-haha?

cc-haha: an AI signed 15.2% of its commits, with Claude Code, Codex, and GitHub Copilot; in joplin, 0.1%.

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

## Sources

- laurent22/joplin: Read on November 10, 2026, at commit 9b11538 (https://github.com/laurent22/joplin/tree/9b11538a0e2272d8be1b75afe412291508f2df5c)
- NanmiCoder/cc-haha: Read on November 9, 2026, at commit 9800f4b (https://github.com/NanmiCoder/cc-haha/tree/9800f4b5b3747e758d61d9bf8f8886edbb202039)

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