Liam ERD is a full-stack application for database schema visualization, design, and collaboration. It parses schemas from multiple formats (PostgreSQL, Prisma, Drizzle, Rails, tbls) and renders interactive ER diagrams in the browser via a CLI tool and a Next.js web app. The system integrates AI agents built with LangGraph that assist users in evolving schemas: a lead agent classifies intent, a PM agent analyzes requirements, a DB agent generates migrations via JSON Patch operations, and a QA agent produces and validates pgTAP tests. The web app supports organization/project management, GitHub OAuth, real-time streaming chat with agents, schema versioning with diff view, public sharing, and a command palette for navigating ERDs. The backend uses Supabase for auth, database, realtime, and blob-based checkpoint persistence. The monorepo also includes a component library, MCP server for Cursor IDE, schema evaluation benchmarks, and comprehensive test coverage (Vitest, Playwright, Storybook).
WhoDB is a self-hosted, multi-database workspace and management platform by Clidey (Apache-2.0). The production system is a Go backend (chi router, gqlgen GraphQL API, BAML-generated LLM clients) served alongside a React/TypeScript SPA (Vite, Apollo, Redux), plus a Cobra/Bubbletea CLI/TUI, a Wails desktop app, an MCP server exposing database tools to AI agents, and multi-language SDKs (Python, TypeScript, Go, Rust, Java) targeting the hosted platform API. It lets users browse/edit/query rows, inspect schemas and relationships, run arbitrary SQL/NoSQL commands, import/export CSV and Excel, generate mock data, and chat with an AI assistant that produces SQL, explains queries, and executes verified operations. Supported engines include PostgreSQL, MySQL/MariaDB, SQLite, CockroachDB, TiDB, DuckDB, ClickHouse, QuestDB, YugabyteDB, MongoDB, Redis/Valkey/Dragonfly, Elasticsearch/OpenSearch, and Memcached, with automatic discovery of cloud-hosted instances on AWS, Azure, and GCP. Architecturally the backend is a database-plugin registry: every engine implements a PluginFunctions interface, mostly by embedding a shared GORM-based SQL plugin and overriding dialect specifics (constraint parsing, batch operations, SQL builders); non-relational stores use native adapters. Security is treated seriously: a SQL guard classifies commands as read-only vs mutating across SQL/MongoDB/Redis, egress validation blocks SSRF targets including cloud-metadata IPs, sessions use hashed cookie tokens with CSRF double-submit, and audit logging classifies events into telemetry/access/compliance. The frontend uses registry patterns (component-registry, route-registry, sidebar-registry) to keep CE/EE edition differences declarative. The most reusable pieces are security components (sqlguard read-only classification, egress SSRF filter), the mock-data generator's column-pattern matching, and the schema-diff engine — all self-contained enough to extract into other projects. The codebase is actively maintained with extensive CI/CD (Docker, npm, Snap, Windows Store, macOS releases), per-database e2e suites, and accessibility checks. Weaknesses are inherent complexity: five SDKs must stay synchronized with a generated manifest, BAML generation introduces platform-specific build stubs, cloud-provider connectivity logic is duplicated across AWS/GCP/Azure, and the broad plugin interface gives new database adapters a large implementation surface.
drawDB is a free, open-source, client-side web application for designing relational database schemas and generating SQL. It provides an interactive ER diagram editor with support for multiple database dialects (MySQL, PostgreSQL, SQLite, MariaDB, MSSQL, Oracle), import/export in SQL, DBML, JSON, Mermaid, and Markdown, and features like auto-arrange, auto-connect foreign keys, schema validation, migration generation, and versioning via GitHub Gists. The architecture is a React single-page application (Vite + Tailwind CSS + Semi UI) with state managed through custom React Contexts and hooks, persistence via IndexedDB (Dexie), and an optional cloud backend through an extension system. It is primarily an application, with no data research or ML components.
Prismaliser is a fully client-side single-page application that visualizes Prisma database schemas as interactive entity-relationship diagrams. It runs entirely in the browser: the user pastes a Prisma schema into a Monaco editor, the app parses it client-side via a vendored WASM module from Prisma's own schema parser, and renders the models, enums, and relations (1-1, 1-n, m-n) as an interactive React Flow graph. The app has no backend server – it is a static Vite SPA that can be self-hosted (Docker image provided). Recently, AT Protocol (Bluesky) integration was added allowing users to publish immutable snapshots of their diagrams (schema + node positions) to their own AT repository, share via canonical AT links, and manage published snapshots. OAuth login is browser-native using the atcute library family. The codebase is TypeScript strict, thoroughly tested (Vitest), and follows modern React patterns with Tailwind CSS v4 and CSS modules. The architecture is modular: a util layer handles Prisma parsing, graph generation, and layout (elkjs), while a dedicated atproto/ module handles OAuth, record creation, public retrieval, and share link parsing. The UI is built with React 19, using local state and hooks (no global state management). The project is actively maintained with recent commits and open issue triage.