Overview
Discover what makes Azimutt powerful
Azimutt is a **full‑stack database exploration platform** that bridges the gap between traditional ER diagram tools, data catalogues, and command‑line clients. It focuses on *large, messy schemas* typical of modern monoliths or micro‑service ecosystems. At its core, Azimutt parses a live database connection (PostgreSQL, MySQL, SQLite, etc.) or a raw SQL schema file, builds an in‑memory representation of tables, columns, foreign keys and indexes, and renders a dynamic, searchable diagram. The UI exposes a *path‑finding* engine that lets developers jump from one entity to another across many hops, while simultaneously offering a query pane that can auto‑join tables based on the diagram state.
Frontend
Backend
Database Support
Data Layer
Overview
Azimutt is a full‑stack database exploration platform that bridges the gap between traditional ER diagram tools, data catalogues, and command‑line clients. It focuses on large, messy schemas typical of modern monoliths or micro‑service ecosystems. At its core, Azimutt parses a live database connection (PostgreSQL, MySQL, SQLite, etc.) or a raw SQL schema file, builds an in‑memory representation of tables, columns, foreign keys and indexes, and renders a dynamic, searchable diagram. The UI exposes a path‑finding engine that lets developers jump from one entity to another across many hops, while simultaneously offering a query pane that can auto‑join tables based on the diagram state.
Technical Stack
- Frontend: React + Vite, written in TypeScript. The diagram layer uses D3.js and a custom canvas renderer for performance with thousands of nodes. Styling is handled by Tailwind CSS, allowing rapid theming.
- Backend: Elixir + Phoenix LiveView. The server is responsible for schema extraction, query compilation, and real‑time collaboration via WebSockets. Phoenix LiveView’s component model keeps the UI in sync without a heavy client‑side router.
- Database Support: The core engine supports PostgreSQL, MySQL/MariaDB, SQLite, and SQL Server through the
exqlite,postgrexandmyxqladapters. Schema extraction is performed via introspection queries, with optional AML (Azimutt Markup Language) files for manual diagram tweaking. - Data Layer: All metadata is stored in a lightweight SQLite database when self‑hosted, enabling persistence of notes, tags, layouts and memos. The same SQLite instance can be swapped for Postgres if higher concurrency is required.
Core Capabilities
- Live ERD Generation: Automatic layout algorithms that respect foreign‑key directionality, with manual overrides and custom node shapes.
- Search Everywhere: Full‑text search over table/column names, notes and tags; supports fuzzy matching.
- Query Builder: Drag‑and‑drop of tables into a query pane; auto‑generates
SELECTstatements with joins, filters and aggregations. - Documentation API: REST endpoints (
/api/docs) expose table/column metadata, notes and tags; useful for generating external docs or syncing with Confluence. - Analytics Engine: Detects orphan tables, cyclic dependencies, missing indexes and schema drift against a baseline AML file.
- Collaboration: Real‑time editing of layouts and notes via Phoenix LiveView; change history is versioned in the SQLite store.
Deployment & Infrastructure
Azimutt ships as a single Docker image (azimuttapp/azimutt:latest) that bundles the Phoenix server, the React assets and a pre‑compiled SQLite database. For larger deployments:
- Kubernetes: Helm chart available on GitHub; exposes a Service and Ingress, with optional persistence via PVC for the SQLite file.
- Scalability: Because Phoenix LiveView runs in a single process, horizontal scaling is achieved by adding more replicas behind a load balancer. The SQLite store can be replaced with Postgres for higher write concurrency.
- Self‑hosting: No external dependencies beyond the database you connect to; all configuration is via environment variables (
AZIMUTT_DB_URL,AZIMUTT_PORT).
Integration & Extensibility
- Plugins: The backend exposes a plugin API where custom adapters can be registered to support new database engines or external data sources.
- Webhooks: Emit events (
schema_changed,layout_updated) to external services such as Slack or CI pipelines. - AML Import/Export: AML files are first‑class citizens; they can be versioned in Git and imported to sync diagrams across teams.
- CLI: A minimal Node.js CLI (
npx azimutt explore <db_url>) can launch the local instance and auto‑open a browser, useful for quick demos or CI checks.
Developer Experience
- Configuration: Straightforward environment‑variable setup; no complex manifests. The UI exposes a settings panel for theme, autosave intervals and telemetry opt‑out.
- Documentation: Comprehensive README with architecture diagrams, API reference, and a dedicated AML spec. The GitHub repo hosts an open‑source roadmap and issue tracker.
- Community: Active Slack channel, weekly Discord sessions, and a contributor guide that encourages pull requests for new adapters or UI improvements.
- Testing: Unit tests in Elixir (
ExUnit) for the schema extractor, and Cypress end‑to‑end tests for the React UI. CI runs on GitHub Actions.
Use Cases
| Scenario | Why Azimutt? |
|---|---|
| Onboarding new devs | Quick diagram with search to find relevant tables and relationships. |
| Data‑drift monitoring | Automated analysis flags missing indexes or orphan tables before they become performance bottlenecks. |
| Documentation | Inline notes and tags can be exported to Markdown or Confluence, keeping docs in sync with the schema. |
| Query prototyping | Drag‑and‑drop tables into a query pane to generate boilerplate SQL, reducing copy‑paste errors. |
| Micro‑service data ownership | Visualize cross‑service foreign keys to enforce domain boundaries. |
Open SourceReady to get started?
Join the community and start self-hosting Azimutt today
Related Apps in databases
NocoDB
Build databases like spreadsheets, no code required
ChartDB
Instant database diagramming and migration without passwords
Bytebase
Database CI/CD for DevOps teams
Datasette
Explore and publish data as interactive websites
Adminer
Single‑file database manager in PHP
Evidence
Generate BI reports from SQL and markdown
Weekly Views
Repository Health
Information
Explore More Apps
Databunker
Secure PII/PCI tokenization in 10 minutes
TileServer GL
Serve vector and raster tiles with MapLibre rendering
TinyFeed
Generate static HTML pages from RSS, Atom, and JSON feeds
Drupal Commerce
Build global eCommerce with Drupal’s content power
PdfDing
Self‑hosted PDF manager, viewer and editor
FlashPaper
Zero‑knowledge one‑time secret sharing, no database needed
