# Introduction


The Flare JavaScript client runs in the browser. It catches unhandled errors and unhandled promise rejections and sends them to Flare with a stack trace and browser context. It can also send structured logs, trace page loads and navigations, and, in the framework packages, time how long your components take to mount.

## What you get

- **Error tracking.** Unhandled errors are caught and reported automatically, with the original source code in the stack trace once you add sourcemaps. See [reporting errors](/docs/javascript/errors/reporting-errors).
- **Structured logs.** Send log messages with levels and attributes, batched and flushed for you. See the [logs introduction](/docs/javascript/logs/introduction).
- **Tracing.** Page loads, navigations, and outgoing requests become spans you can inspect in a waterfall view. See [how tracing works](/docs/javascript/tracing/how-tracing-works).
- **Component profiling.** Framework packages can time how long a component takes to mount. See [how component profiling works](/docs/javascript/profiling/how-component-profiling-works).

## Pick your framework

Every framework package builds on the core browser client, so start with the guide for the framework you use:

- [React](/docs/react/getting-started/quick-start)
- [Vue](/docs/vue/getting-started/quick-start)
- [Svelte and SvelteKit](/docs/svelte/getting-started/quick-start)
- [Inertia](/docs/inertia/getting-started/quick-start)
- [React Native](/docs/react-native/getting-started/quick-start)
- [Electron](/docs/electron/getting-started/quick-start)

No framework, or a plain JavaScript project? Continue with the [quick start](/docs/javascript/getting-started/quick-start).
