weDocs is a WordPress plugin that adds comprehensive documentation and knowledge base management to any WordPress site. It registers a hierarchical 'docs' custom post type with a parent-section-article structure, allowing users to create, organize, and display documentation with modern editor blocks (search, grid, sidebar, table of contents, breadcrumbs, reading progress, etc.) and Elementor widgets. The plugin provides a full-featured React-based admin dashboard for managing docs, FAQs, and settings, including drag-and-drop reordering, inline editing, migration from BetterDocs, AI-powered content generation (via OpenAI, Anthropic, Google Gemini), and analytics (view counting, helpfulness votes). It follows a freemium model with pro features gated behind license checks and preview overlays. The codebase demonstrates strong engineering practices: extensive E2E tests with Playwright, modular PHP classes, reusable block controls and shared UI components, and efficient REST API endpoints with aggregate SQL queries. However, it has some code duplication (e.g., duplicate commonControls in two directories), reliance on experimental WordPress APIs, and large inline CSS/JS in PHP render outputs, which prevent it from being exceptional. Overall, it is a well-maintained, production-ready plugin with reusable patterns suitable for other WordPress block plugins.
Franz is a desktop messaging aggregator that consolidates multiple chat services (WhatsApp, Slack, Telegram, etc.) into a single Electron application. It uses a plugin-based 'recipe' system to integrate each service via webviews or BrowserViews. The architecture is a monorepo with Lerna, containing reusable packages for UI components, forms, and theming. The main application is built with React 16, MobX 5, and JSS for styling, with a MobX store layer managing state and API calls. Features include service management, workspaces, todos, subscription tiers (freemium), and a feature toggle system. The codebase is well-structured but shows signs of age: it uses deprecated React lifecycle methods, @electron/remote, and outdated dependencies. The README explicitly states this is the predecessor of Franz 6 and is no longer actively developed, making it a legacy codebase.