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.
Penpot is a full-stack, open-source collaborative design and prototyping platform. The codebase is a polyglot monorepo comprising a Clojure backend (REST/RPC API, PostgreSQL, Redis, S3 storage), a ClojureScript frontend (React-based UI with custom text editor and design system), a Rust WebAssembly renderer (Skia-based shape rendering and export), a Node.js media processor (image/font conversion), a TypeScript MCP server (AI integration via Model Context Protocol), and a plugin ecosystem (SES-sandboxed JavaScript runtime with Angular/TypeScript example plugins). The architecture follows a microservices-like pattern with separate deployable components, real-time collaboration via WebSocket/Redis message bus, and background task processing. The system is designed for self-hosting and enterprise deployment with features like SSO, audit logging, webhooks, and rate limiting.
Mockoon is a multi-platform API mocking tool that runs mock servers locally or remotely. It is built as a monorepo with six npm packages: @mockoon/commons (shared models, migrations, OpenAPI converter), @mockoon/commons-server (core Express-based mock server engine with templating and response rules), @mockoon/app (Electron desktop application with an Angular renderer), @mockoon/cli (oclif-based command-line interface), @mockoon/cloud (cloud sync library), and the deprecated @mockoon/serverless wrapper. The architecture cleanly separates the core server logic from the delivery mechanisms. The MockoonServer class provides an HTTP/HTTPS server with a sophisticated response rule engine, a Handlebars templating system with over 100 custom helpers (including deep Faker.js integration), CRUD operations on data buckets, WebSocket support, proxy mode, and a full admin API. The desktop app uses a Redux-like state management pattern with RxJS, ensuring predictable and testable UI state transitions. The codebase demonstrates high craftsmanship in several areas. The ResponseRulesInterpreter is a self-contained DSL for matching HTTP requests to mock responses. The TemplateParser provides an extensible helper registration system. The data migration system in commons is a textbook example of handling schema evolution for JSON-based data models. The project is actively maintained with a robust CI/CD pipeline, though it carries some technical debt such as a deprecated serverless package and disabled strict TypeScript mode in the desktop app.
JSON Server v1 (beta) is a CLI tool and library that spins up a fully functional REST API from a JSON or JSON5 file. It is built on top of lowdb for data persistence and @tinyhttp/app for HTTP handling. The architecture is a clean three-layer design: a CLI entry point (bin.ts) that wires file watching and server startup, an Express-like app layer (app.ts) that defines routes and parses query parameters, and a service layer (service.ts) that encapsulates all data access, filtering, pagination, and relationship embedding. The system supports advanced query capabilities including field operators (gt, lt, in, contains, etc.), JSON-based _where queries, sorting, pagination with navigation metadata, and resource embedding via _embed. It also handles referential integrity on deletes by nullifying foreign keys or cascading dependent deletions. The codebase demonstrates solid TypeScript craftsmanship with strict mode enabled, modern ESM modules, and a clear separation of concerns. Notable engineering patterns include the NormalizedAdapter wrapper that enforces string IDs and strips $schema on read while re-injecting it on write, and the Observer adapter that intercepts lowdb read/write lifecycle events to enable file-watch reloading without feedback loops. The query parsing layer cleanly separates URLSearchParams-based operator syntax from raw JSON _where objects, with proper type coercion for booleans, null, and numbers. The project is in active beta (v1.0.0-beta.15) with recent commits, CI via GitHub Actions, and a pre-commit hook running tests. It targets Node.js >=22.12 and leverages experimental TypeScript stripping for development. Dependencies are current and well-chosen (lowdb v7, @tinyhttp v3, eta v4). The test suite uses Node's built-in test runner and covers the service layer, query parsing, pagination, and full HTTP integration tests.
IBM TJBot is a Raspberry Pi-based robotics application that interacts with IBM Watson AI services through various 'recipes'. Each recipe demonstrates a different AI capability: conversation (chatbot using Watson Assistant, Speech to Text, and Text to Speech), sentiment analysis (monitoring Twitter tone and changing LED color), speech to text (voice-controlled LED), and translation (speech-to-speech language translation). The architecture consists of a core TJBot library that abstracts hardware and service interactions, with each recipe being a standalone Node.js application. Key entry points are the recipe-specific JavaScript files (conversation.js, sentiment.js, stt.js, translator.js) and the bootstrap script for Raspberry Pi setup. Data flows involve capturing input (audio, Twitter stream), processing through Watson services, and triggering hardware actions (LED, servo, speaker) based on results.
Pencil is an open-source GUI prototyping tool for creating wireframes and mockups across platforms. It is built as an Electron desktop application with a custom UI framework that includes a canvas for SVG-based shape editing, a stencil/collection system for reusable UI components, and export pipelines to SVG, PDF, ODT, HTML, and PNG. The architecture is a monolith with a main process (app/index.js) managing windows and IPC, and a renderer process handling the UI and canvas interactions. The codebase shows a migration from legacy Mozilla XULRunner to Electron, resulting in a mix of old XUL/XPCOM code and modern JavaScript/Node.js patterns. Key data flows involve loading shape definitions from XML collections, manipulating shapes on an SVG canvas, and serializing documents to custom archive formats (.ep, .epz, .epgz). External dependencies include Electron, various npm packages (adm-zip, archiver, jimp, perfect-freehand), and system fonts. The repository also contains a web-based asset management subsystem (DataTable, MapView) that appears to be a separate concern embedded within the same codebase.