AFFiNE is a cross-platform, block-based knowledge management application that combines notes, whiteboards, and databases in a local-first, real-time collaborative environment. Built on the BlockSuite editor framework, it features a modular architecture with extensible components, AI-powered capabilities (Copilot), and support for embedding external content. The application consists of a web client, desktop client (Electron), and mobile clients (iOS/Android), backed by a Node.js/NestJS server with Prisma ORM and Rust performance modules. Data is synchronized via Yjs CRDTs with a custom storage layer (nbstore) for offline-first capabilities.
This repository is a local-first, source-cited knowledge base management system, delivered primarily as a Claude Code plugin and a standalone Python CLI tool. It manages Obsidian vaults with a strong emphasis on data integrity, provenance tracking, and deterministic operations. The architecture is a monolithic Python library (`claude_obsidian/`) with a formal transaction system for all vault mutations, a robust lint engine, and a retrieval pipeline (BM25 + optional semantic reranking). It features a sophisticated skill/agent framework for AI integration across multiple hosts (Claude, Cursor, Windsurf, etc.). While primarily an application, it incorporates significant data engineering and research data management (RDM) patterns. The provenance ledger system (`ledgers.py`) enforces strict schemas for sources and claims, including canonical URL handling, content-addressed identity, and evidence validation rules. The retrieval pipeline implements Anthropic's Contextual Retrieval pattern. This hybrid nature makes it a powerful tool for both knowledge management and structured research workflows. The codebase demonstrates exceptionally high craftsmanship in its transaction system, defensive I/O, and deterministic analysis tools. It is actively maintained with a comprehensive test suite and a formal release process. Its primary limitation is platform dependency on Linux/macOS for write operations (WSL required for Windows).
CareerOps is a local-first, AI-assisted job search automation platform. It scans 100+ ATS job boards and aggregators (Greenhouse, Lever, Ashby, Workday, iCIMS, PeopleSoft, 55+ providers) through a standardized provider abstraction, evaluates each posting against the user's CV by delegating to AI coding CLIs (Claude Code, Codex, Gemini, OpenCode, etc.), emits structured A–H evaluation reports with 1–5 fit scores, generates ATS-optimized CV PDFs and cover letters, and tracks the full application lifecycle in a Markdown/TSV data store. It ships three surfaces: a Node.js CLI core (~150 .mjs modules), a Next.js 16 web dashboard, and a Go Bubble Tea TUI. All data remains on the user's machine; nothing is ever auto-submitted—a human presses send. The evaluation, scoring, and pattern-analysis features (funnel velocity, repost detection, calibration against outcomes) are product features, not research artifacts, so the repo is classified as an application despite these analytical components. Architecturally, this is a monorepo spanning three runtimes that share a flat-file data layer coordinated by cross-process file locks (SHA256-derived lock directories compatible between Go and Node). Its standout engineering includes a provider registry pattern for ATS integrations, a plugin engine with mandatory human-in-the-loop enforcement, capability-fenced CLI spawning for AI agents (read-only/web-search-only modes with per-CLI fencing probes), atomic write-with-backup for every user-layer file, and a 400+ file test suite including byte-level parity tests that keep web-side algorithm mirrors aligned with core logic, SSRF-hardening tests across all providers, and cross-platform contention tests. The repo also demonstrates unusually mature governance: plugin registration with pinned SHAs, direction gates in CI, localization drift checks for 16 languages, and a self-updater with rollback. Weaknesses: the Go/Node split duplicates tracker parsing logic (mitigated by shared header-alias tables but still a maintenance burden), parsing is regex-heavy over markdown tables with many special-case bugs, and rapid feature expansion has produced visible bloat—dozens of AI-provider-specific eval scripts, many localized mode trees, and extensive one-off migration scripts. The external ecosystem (ATS site markup, AI CLI permission models) shifts constantly, requiring the active dead-board pruning and fencing probes visible in the codebase. Overall this is a well-crafted, heavily tested local-first application with several genuinely reusable security and concurrency patterns, held back from exceptional by its dual-runtime duplication and feature sprawl.
Invisible Dots is a self-hosted, open-source platform for deploying and managing persistent AI agents ('Dots'). Each Dot operates within its own dedicated QEMU virtual machine, providing a secure, isolated environment with a full Linux desktop, browser, and file system. The platform is designed for undetectability and long-running autonomy, serving as an open-source alternative to proprietary agent services. The system is a polyglot monorepo with a strict separation between the host control plane (TypeScript) and the guest agent (Go) and engine (Python). The host manages VM lifecycle, scheduling, a web UI, CLI, and messaging channels (Telegram/WhatsApp). The guest runs a Go daemon for low-level system access and a Python engine (forked from nanobot) that orchestrates LLM calls, tool execution, and permissions. Key features include a granular permission system with approval workflows, a cron-like task/automation system, cost capping per task, and a comprehensive benchmark suite for evaluating agent capabilities. The codebase demonstrates exceptional engineering craftsmanship with clean abstractions (Database, Channels, Computer), robust testing strategies (contract tests, fakes, e2e), and reusable utility libraries (ISO writer, SSE parser, atomic file operations). While primarily an application, the project includes a significant research-oriented benchmark suite (tests/bench) and the engine itself is a research fork (nanobot), giving it a hybrid character. The core value, however, is as a production-grade application platform.
Open Design is a local-first, open-source design-to-code platform that serves as an alternative to Claude Design. It detects installed coding-agent CLIs (26+ supported), runs design skills against brand-grade DESIGN.md design systems, and streams artifacts (prototypes, decks, images, video, HyperFrames) into a sandboxed preview. The architecture is a monorepo with pnpm workspaces, comprising a Node.js daemon (Express + SQLite), a React/Next.js web SPA, an Electron desktop shell, and an Astro landing page. Core capabilities include a plugin system with 277 official plugins, design system management, AI-powered artifact generation, collaboration (workspace, team resource sharing, presence), critique/theater scoring, media generation, and research integration (Tavily). The daemon acts as a local server that manages projects, conversations, agent runtimes, and SSE event streaming. The web client provides a rich UI for chat, project management, design system browsing, plugin marketplace, and real-time collaboration. The desktop app wraps the web client with native features like folder pickers, deep-link handling, and auto-updater. The codebase demonstrates high craftsmanship with clean abstractions (HTTP adapter pattern, plugin architecture, agent runtime definitions, SWR cache, backoff controller, singleton registries) and extensive test coverage (Vitest unit tests, Playwright e2e). It is actively maintained with a rapid release cadence and modern dependency management.
QMD (Quick Markdown Search) is a local-first, on-device hybrid search engine for markdown files, built as a CLI tool, a TypeScript SDK, and an MCP (Model Context Protocol) server. It indexes markdown documents and supports BM25 full-text search via SQLite FTS5, vector semantic search via sqlite-vec, LLM-based query expansion (using a fine-tuned Qwen3-1.7B model), and cross-encoder reranking. The architecture is a monolithic TypeScript module with clear separation of concerns: a core store layer handling indexing and retrieval, a config-driven collection system with YAML-based index definitions, a trust-gated security model for project-local configurations, and output formatters supporting JSON, CSV, Markdown, and XML. The project also includes a fine-tuning pipeline (Python-based SFT, GRPO) to train the query expansion model, with curated training data and evaluation benchmarks. The repository has a hybrid character: while its primary output is a production-ready application (CLI + MCP server), it contains a substantial data-research component in the `finetune/` directory with training scripts, dataset generation, reward functions, and model evaluation harnesses. The fine-tuning pipeline is tightly coupled to the main application's query expansion feature, making this more than a simple add-on – it is integral to the search quality. The code demonstrates strong engineering practices: content-addressable storage for deduplication, AST-aware chunking for code files, reciprocal rank fusion for multi-signal search, and a cross-runtime SQLite abstraction that runs on both Node.js and Bun. The project is actively maintained with CI/CD on GitHub Actions, Nix flake builds, and npm publishing. Key entry points include `src/cli/qmd.ts` (CLI dispatcher), `src/store.ts` (core data layer), `src/mcp/server.ts` (MCP server), and `finetune/train.py` (training pipeline). The system is designed for personal knowledge management and AI agent integration, offering a `qmd search` command for quick lookups and an MCP server exposing tools like `query`, `get`, and `multi_get` for agent consumption. Security is a first-class concern: project-local configs that declare hooks or out-of-project paths require explicit trust approval via a digest-based store, and the HTTP MCP server includes DNS-rebinding protection.
clawdex is a local-first, markdown-first personal contact index CLI written in Go. Contacts are stored as plain markdown files with YAML frontmatter in a private Git repository, making the data diffable, grepable, and portable. The tool provides commands to manage people, notes, avatars, search, and timelines, with import adapters for Apple Contacts (macOS only via a temporary Swift helper), Google Contacts (via the gog CLI), X/Twitter DMs (Birdclaw), Discord DMs (Discrawl), and generic crawlkit-compatible crawlers. It also supports vCard export, Git sync helpers, and a doctor command for repairing damaged frontmatter. The architecture is a single self-contained binary with Kong-based CLI parsing, internal packages for each major domain, and a strong emphasis on security and correctness — the safefile package performs rooted, symlink-aware file I/O with atomic writes, and the markdown package includes robust salvage and repair logic for damaged frontmatter. CI enforces 90%+ test coverage, security scanning (gitleaks, gosec), dead code detection, and reproducible builds via GoReleaser.
AnyType is a personal knowledge base application built with Electron, React, and TypeScript. It features a block-based system for creating and connecting information (text, databases, kanban, calendar, custom types) with offline-first storage and optional peer-to-peer synchronization. The application uses a modular architecture with a Go-based middleware (anytype-heart) communicating via gRPC, MobX for state management, and an extensive reusable UI component library. It includes browser extension support for web clipping and AI agent extensibility.
Nebula is a local-first security assessment workbench designed for penetration testing and red teaming operations. It functions as a desktop application built with a Tauri shell (Rust) wrapping a React/TypeScript frontend and a Python FastAPI backend sidecar. The system manages security engagements, scope policies, evidence collection, and AI-assisted analysis, emphasizing operator control, auditability, and data privacy through local-first execution and content-addressed artifact storage. The architecture follows a sidecar pattern where the Python Core service handles database operations (SQLite with Alembic), containerized command execution (Kali Linux via Docker/Podman), and AI provider integration. The frontend manages the UI state and terminal sessions via WebSocket. Key data flows involve user actions triggering API calls that validate against scope policies before executing commands in isolated containers, with all outputs stored as immutable artifacts for evidence integrity. The codebase demonstrates strong engineering practices with extensive test coverage (Pytest, Vitest, Playwright), a robust diagnostic system with secret redaction, and a policy engine for deterministic scope enforcement. It supports multiple AI providers and includes features for knowledge indexing, mission orchestration, and report generation. The project is actively maintained with recent commits and zero security alerts, though it is currently in alpha release.
Codewhale is an open-source, terminal-native AI coding agent that operates as a TUI (ratatui), CLI, headless runtime, MCP server, and a web frontend. It manages full development workflows: reading repositories, editing files, running commands, reviewing changes, and orchestrating multi-agent fleets. The codebase is a Rust monorepo with ~52 crates, a Next.js website with 18+ locales, a VS Code extension, packaging for npm/Homebrew/Arch/Windows, and companion pet apps. The architecture is event-driven with a pluggable tool system, model-agnostic provider routing, session-based journaling, and a contract-based command framework. It supports dozens of LLM providers (DeepSeek, OpenAI, Anthropic, Ollama, etc.) and features sandboxed execution, telemetry with a strict no-IP privacy contract, and a plugin marketplace. The project is heavily tested with unit, integration, PTY/Cucumber, and hermetic bash tests, and enforces budgets for dead code and blocking calls.
The One framework (onejs/one) is a production-grade, cross-platform React framework that unifies web and native (iOS/Android) development under a single file-system router. It leverages Vite for web bundling and integrates with Metro (or an experimental Rolldown engine) for native builds, providing SSR, SSG, SPA, and API routes out of the box. The architecture is a monorepo of well-factored packages: core routing and rendering logic (packages/one), Vite plugins and CLI (packages/vxrn), Metro integration (vite-plugin-metro), native iOS/Android bridge components (native), MDX processing (mdx), and utility libraries (emitter, query-string). Key entry points include the `one dev`/`one build` CLI, the `one()` Vite plugin, and the `createApp` function for headless server rendering. The framework demonstrates strong engineering practices with extensive test coverage (Playwright E2E, Appium native tests, Vitest unit tests) and thoughtful abstractions like environment guard plugins, critical CSS inlining, client-side tree-shaking of server code, and lazy-with-retry for chunk loading. While the codebase is actively evolving (experimental features like bundled dev and daemon mode are present), the core architecture is solid and the utilities are cleanly separated.
Logseq is a privacy-first, open-source knowledge management platform built as a monorepo containing an Electron desktop app, Capacitor-based mobile apps (iOS/Android), a web app, and a Node.js db-sync server. The codebase is predominantly ClojureScript (CLJS) with React/Rum for the UI, DataScript for the in-memory graph database, and SQLite (via better-sqlite3 and sqlite-wasm) for persistence. It uses shadow-cljs for CLJS compilation, webpack for JS bundling, and Tailwind CSS for styling. A separate OCaml-based CLI (logseq-cli) built with Melange provides graph inspection, sync, and CRUD operations against the same db-worker-node backend. The architecture separates concerns into deps/ subprojects (db, outliner, graph-parser, db-sync, common, publishing, shui) that are compiled as separate shadow-cljs targets and shared across Electron, browser, mobile, and CLI runtimes. The system has two graph types: file-based graphs (Markdown/Org) and DB graphs (SQLite-backed with DataScript in-memory querying). DB graphs enable real-time collaboration (RTC) via a Cloudflare Worker-based sync server (deps/db-sync) using WebSockets and D1 SQLite. The db-worker-node is a long-lived Node.js process that manages SQLite connections and sync state, communicating with the UI via a thread-api IPC mechanism. The outliner module handles block tree operations with structural invariants, while the graph-parser handles Markdown/Org parsing via mldoc. The publishing module generates static HTML sites from graphs. Key architectural patterns include: missionary for reactive async flows, promesa for promise composition, malli for schema validation, datascript for Datalog queries, and a component-based UI with Rum/React. The codebase has extensive test coverage via cljs.test, Playwright E2E tests (clj-e2e), and Python-based CLI E2E tests (cli-e2e). The repository is actively maintained with recent commits, 43k+ stars, and active issue triage, though the large monorepo complexity and multi-language surface (CLJS, OCaml, Swift, Kotlin, Python, JS) create maintenance challenges.
EverOS is a local-first, markdown-based memory framework for AI agents and chat applications. It ingests conversational sessions via a FastAPI REST API, extracts structured memories (episodes, atomic facts, agent cases, skills, user profiles) using LLMs, persists them as version-controllable Markdown files, and maintains derived search indexes in LanceDB (vector + BM25) and SQLite. The system provides a rich retrieval layer with keyword, vector, hybrid (RRF), and agentic (LLM-guided multi-round) search methods, plus a knowledge wiki feature. An Offline Memory Engine (OME) runs background strategies (reflection, clustering, extraction) on cron/idle/immediate triggers, and a cascade daemon watches the Markdown filesystem to reconcile indexes. The architecture is a layered monolith (entrypoints → service → memory → infrastructure) with cross-cutting components for LLM, embedding, rerank, tokenizer, and config. It ships with a CLI (Typer), a TUI demo (Textual), and extensive integration tests. While primarily an application, it includes a benchmark harness (LoCoMo, LongMemEval, EverMemBench) and evaluation fixtures, giving it a hybrid character with a strong research-oriented testing pipeline.
Atomic Chat is a full-featured desktop application for running local large language models and connecting to cloud AI providers. Built with Tauri v2 (Rust backend) and a React/TypeScript frontend, it provides a unified chat interface, agent mode with tool execution, MCP server integration, model hub, and an OpenAI-compatible local API server. The application supports multiple inference backends (llama.cpp, MLX, Apple Foundation Models) and handles model downloads, hardware detection, and agent orchestration. It includes extensive testing, telemetry (PostHog/Sentry), and a plugin architecture for extensibility. The codebase demonstrates clean separation of concerns through a service hub pattern, consistent state management with versioned persistence, and robust resource handling for MCP lifecycle and grammar-safe tool calling. Some duplication exists between two llama.cpp provider plugins, but overall architecture is well-structured.
SiYuan is a privacy-first, local-first personal knowledge management system with a block-based WYSIWYG editor, AI assistant integration, cloud sync, and a plugin ecosystem. It is architected as a Go kernel (Gin HTTP API + WebSocket) paired with a TypeScript/Electron frontend, supporting desktop (Windows, macOS, Linux), mobile (Android, iOS, HarmonyOS), and browser/Docker deployment. The kernel handles all data operations: block tree persistence as JSON `.sy` files, SQLite indexing with FTS5 and SQLCipher encryption, attribute-view databases (tables, galleries, kanban), backlink resolution, full-text search, and sync via multiple providers (SiYuan cloud, S3, WebDAV, LAN). The frontend provides a rich editing experience with Markdown, LaTeX, Mermaid, mind maps, PDF annotation, flashcards (FSRS), and an agent chat interface. External dependencies include the Lute Markdown parser, dejavu sync library, Pandoc for document conversion, and PDF.js for PDF rendering. The system exposes a comprehensive REST API with contract-based validation and auto-generated TypeScript types, enabling third-party integrations and a community marketplace for plugins, themes, and templates.
p2panda is a modular Rust framework for building privacy-respecting, local-first peer-to-peer applications. It provides a complete stack including core data types (append-only logs, CRDT-friendly operations), networking (QUIC via iroh, gossip via HyParView, mDNS, confidential discovery), storage (trait-based with SQLite backend), sync protocols (log sync, topic handshake), encryption (group and two-party schemes with forward secrecy), authentication (decentralized group CRDT with fine-grained permissions), and event stream processing (ingest, causal ordering, pruning, spaces). The architecture is actor-based (ractor) with supervision trees, trait-based abstractions for pluggability, and a pipeline processor for composable event handling. It is under active development (pre-1.0) with frequent releases and extensive CI, but contains some unfinished features and TODO comments. The codebase demonstrates high craftsmanship with clean abstractions, pure functional state updates in encryption, and reusable patterns like the processor pipeline, causal orderer, and deduplication buffer.
slacrawl is a local-first Slack archiving CLI tool written in Go. It ingests messages, files, users, and channels from multiple sources—Slack API (bot/user tokens), Slack Desktop local cache (LevelDB + IndexedDB), MCP (Model Context Protocol) adapters, and external provider subprocesses—and stores them in a local SQLite database with full-text search (FTS5). The tool provides a rich command surface including sync, search, TUI browsing, analytics reports (digest, trends, quiet channels), retention purging, and Git-based archive sharing (publish/subscribe). It is designed for privacy-conscious users who want offline access to their Slack history without cloud dependency. The architecture follows a clean internal package separation: `cmd/slacrawl` is the entry point, `internal/cli` handles command routing via Kong, `internal/store` provides the SQLite persistence layer with schema migrations and batch writes, `internal/syncer` orchestrates multi-source synchronization, and `internal/slackapi`, `internal/slackdesktop`, `internal/slackmcp`, and `internal/provider` implement source-specific adapters. The codebase is well-tested with extensive Go tests, CI/CD via GitHub Actions, and cross-platform releases (Linux, macOS, Docker). While primarily an application, slacrawl exhibits data pipeline characteristics: it ingests raw Slack data, transforms it into a normalized relational schema with FTS indexing, and exposes analytical outputs (reports, digests). The embedding_jobs table hints at future ML integration. The Git archive sharing module is a novel pattern for distributed data replication. Overall, the codebase demonstrates strong engineering practices with reusable components like the generic MCP client, platform-specific file locking, and the external provider protocol.
FluidVoice is a macOS desktop application for real-time voice dictation, meeting transcription, and AI-powered text enhancement. It provides a local-first dictation experience with on-device speech recognition (Parakeet, Nemotron, Whisper, Apple Speech) and optional cloud AI post-processing. The application features a command mode for AI chat, meeting recording with speaker diarization and acoustic echo cancellation, and a local HTTP API for external integrations. The architecture is a native SwiftUI/AppKit application with a service-oriented design. Audio capture uses CoreAudio and ScreenCaptureKit, with a vendored WebRTC audio processing stack for echo cancellation (AEC3), noise suppression, and voice activity detection. Speech recognition is handled by multiple providers, with model downloads from Hugging Face. The application includes a durable PCM storage system with chunk ledger for meeting audio, a signed model release feed for secure updates, and a comprehensive settings/persistence layer using SQLite and UserDefaults. Key entry points include FluidApp.swift (main application), LocalAPIRouter.swift (HTTP API server), MeetingSummaryProvider.swift (AI meeting summaries), ASRService.swift (speech recognition orchestration), and DictationAppSession.swift (dictation workflow). External dependencies include macOS system APIs, SQLite, vendored WebRTC audio processing, and various AI provider APIs (OpenAI, Anthropic, etc.). The repository also contains research-grade audio processing code (WebRTC AEC3, AGC2, RNN VAD) and pronunciation learning evaluation tools, but the dominant character is a production macOS application with extensive testing and CI/CD.
Epicenter is a monorepo platform for building local-first, privacy-focused productivity applications with optional cloud sync. It encompasses a suite of apps including Honeycrisp (notes with Yjs CRDT sync), Whispering (voice transcription/dictation with local and cloud providers), Matter (typed markdown vaults with SQLite projection), Local Mail (Gmail mirror with offline triage), Local Books (QuickBooks mirror with CLI tools), Vocab (AI language tutor), Skills (agent instruction management), and the Epicenter desktop host (Tauri + Bun sidecar). The shared platform provides a CRDT-based data layer (Yjs with Durable Object authority), portable blob storage (IndexedDB, OPFS, S3), an OAuth/infrastructure-agnostic auth system, an agent loop framework with tool catalogs, and a server framework built on Hono for Cloudflare Workers or Bun. The architecture emphasizes offline-first, typed error handling (Result/defineErrors pattern), compile-time platform seams (browser/Tauri/desktop-host), and rigorous ADR-driven design with evidence benchmarks.
wacrawl is a local-first Go application for importing, merging, searching, and exporting WhatsApp Desktop archive data. It reads the WhatsApp Desktop SQLite database directly from local files, normalizes it into a private SQLite store, and exposes a CLI (import, status, chats, messages, search, sql, web, backup, contacts, metadata) plus a loopback-only read-only web viewer. The system is deliberately private: no network protocol, media confined to known roots, and the web UI requires a per-run bearer token.