---
title: Introduction
editUrl: true
head: []
template: doc
sidebar:
  order: 1
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

import { CardGrid, LinkCard } from '@astrojs/starlight/components';

modernGraphTool is a web-based tool for visualizing and comparing frequency response (FR) measurements of headphones and IEMs. Load measurements, overlay multiple curves, apply targets and EQ, and share results — all from the browser.

It ships as a fully static site: upload one folder to any web server, or use the CDN mode and receive updates automatically. Everything is built in and configured through a single `config.js` file, and it reads the same data format as CrinGraph.

For the project's background, see [Why modernGraphTool?](./why-moderngraphtool.mdx)

## Where to start

<CardGrid>
	<LinkCard
		title="Guide for Users"
		href="./guide-for-users/"
		description="Browsing a measurement database? Learn to read the graph, compare devices, and EQ."
	/>
	<LinkCard
		title="Guide for Operators"
		href="./guide-for-admins/"
		description="Running a measurement database? Deploy it, add your data, and customize the page."
	/>
	<LinkCard
		title="Features"
		href="./features/"
		description="What each built-in feature does, from the equalizer to cross-site search."
	/>
	<LinkCard
		title="Guide for Developers"
		href="./guide-for-developers/overview/"
		description="Contributing to modernGraphTool: architecture, testing, and build internals."
	/>
</CardGrid>

Already running v1 or a CrinGraph site? See [What's New in v2](./whats-new-in-v2.mdx) and the migration guides linked from it. 

:::tip[Using these docs with an AI assistant]
Every page is also served as plain Markdown — add `.md` to any URL (this page is at
[`/intro.md`](/intro.md)).

For a whole-site context, point your assistant at [`/llms.txt`](/llms.txt). It indexes
smaller, purpose-built bundles alongside the complete text, so you can hand over just the
operator guide, the end-user guide, or the contributor guide instead of the entire site.
:::