Skip to main content
This guide covers client-side setup for React Native and React apps. Looking to add Limelight to your server? See the Server-Side Setup guide.

Installation

Install the Limelight SDK in your project:
npm install @getlimelight/sdk

Basic Setup

Add one line to your app’s entry point (_layout.tsx, App.tsx, index.ts, or similar):
import { Limelight } from "@getlimelight/sdk";

Limelight.connect();
That’s it! Limelight will now start capturing:
  • All network requests (fetch and XHR)
  • Console logs with stack traces
  • React component renders
  • GraphQL operations with complexity scoring
  • Automatic issue detection
Want to also capture server-side requests? Add the server-side middleware to your Express or Next.js app and Limelight will automatically trace requests across your full stack.

Choose Your Debugging Experience

Get started in 60 seconds with zero configuration:
  1. Download the Limelight desktop app for your platform
  2. Launch the app
  3. Run your React Native app with Limelight.connect()
  4. Start debugging - data appears automatically!
Why use the desktop app?
  • No sign-up required
  • All data stays local
  • Works offline
  • Zero configuration

Option 2: Web App

Access your debugging dashboard from any browser:
  1. Sign up for a free account
  2. Go to Organization Settings and copy your project key
  3. Add the key to your configuration:
import { Limelight } from "@getlimelight/sdk";

Limelight.connect({
  projectKey: "your-project-key-here",
});
  1. Open your dashboard to view data in real-time
Why use the web app?
  • Team collaboration
  • Access from any device
  • Debug across multiple devices simultaneously
  • No installation required

Option 3: Self-Hosted (Coming Soon)

Host Limelight on your own infrastructure for maximum control.

Configuration

Customize Limelight’s behavior with additional options:
import { Limelight } from "@getlimelight/sdk";

Limelight.connect({
  // Optional: Only required for hosted dashboard
  projectKey: "your-project-key",

  // Optional: Only enable in development (recommended)
  enabled: __DEV__,

  // Optional: Connect to custom server (advanced)
  serverUrl: "ws://192.168.1.100:8080",

  // Optional: Customize your app name
  appName: "MyAwesomeApp",

  // Optional: Disable specific features
  enableNetworkInspector: true,
  enableConsole: true,
  enableGraphQL: true,

  // Optional: Privacy controls
  disableBodyCapture: false, // Set true to skip request/response bodies
  beforeSend: (event) => {
    // Filter or modify events before sending
    return event;
  },
});

Common Configurations

Development Only

Limelight.connect({
  enabled: __DEV__, // Only runs in development mode
});

Physical Device with Desktop App

If debugging on a physical device and want to use the Limelight desktop app you will need to explore post 8484 via a tunnel or just use the Limelight web app.

Production-Safe with Hosted Dashboard

import { Limelight } from "@getlimelight/sdk";
import { LIMELIGHT_PROJECT_KEY } from "@env";

Limelight.connect({
  enabled: __DEV__,
  projectKey: LIMELIGHT_PROJECT_KEY,
  appName: "MyApp",
});

Verify It’s Working

Once connected, you should see:
  • Desktop App: Data appears automatically in the app window
  • Hosted Dashboard: Navigate to your project dashboard to see live data
Try making a network request or logging to console to verify everything is working:
console.log("Limelight is connected!");
fetch("https://api.github.com/users/octocat");

Troubleshooting

Not seeing data in desktop app?

  1. Verify the desktop app is running
  2. Check that Limelight.connect() is called in your app
  3. Ensure enabled is not set to false

Not seeing data in web app?

  1. Verify your projectKey is correct (found in Organization Settings)
  2. Check that you’re logged into the correct account
  3. Ensure enabled is not set to false
  4. Check your internet connection

Connection errors?

If you see WebSocket connection errors:
  • Desktop app: Make sure the app is running on port 8484 (default)
  • Firewall: Ensure your firewall isn’t blocking WebSocket connections

Need more help?