Magical
Multiplayer
Data.

Interactive everything for the modern era.

Lark is the realtime database for web apps, games, and mobile. Fast-twitch updates for high speed data paired with persistent state synced across thousands of users.

Already using Firebase RTDB? We're 100% drop-in compatible. Change one config var, and you're done.

See it in Action

Connecting...

This demo is persisting checkbox state and updating cursor positions across everyone on the site using Lark's Volatile Paths.

import { LarkDatabase } from '@lark-sh/client';

const db = new LarkDatabase('landing-page/checkboxes', {
  anonymous: true
});

// Subscribe to realtime updates
db.ref('boxes').on('value', (snapshot) => {
  const boxes = snapshot.val() || {};

  // Update each checkbox element
  for (let i = 0; i < 100; i++) {
    const el = document.getElementById(`box-${i}`);
    el.classList.toggle('checked', !!boxes[i]);
  }
});

// Toggle a checkbox on click
async function toggle(id) {
  const ref = db.ref(`boxes/${id}`);
  const snap = await ref.once();
  await ref.set(!snap.val());
}
import { useEffect, useState } from 'react';
import { LarkDatabase } from '@lark-sh/client';

const db = new LarkDatabase('landing-page/checkboxes', {
  anonymous: true
});

function Checkboxes() {
  const [boxes, setBoxes] = useState({});

  useEffect(() => {
    return db.ref('boxes').on('value', snap => {
      setBoxes(snap.val() || {});
    });
  }, []);

  const toggle = async (id) => {
    const ref = db.ref(`boxes/${id}`);
    const snap = await ref.once();
    await ref.set(!snap.val());
  };

  return (
    <div className="grid">
      {Array(100).fill(0).map((_, i) => (
        <div
          key={i}
          className={boxes[i] ? 'checked' : ''}
          onClick={() => toggle(i)}
        />
      ))}
    </div>
  );
}
{
  "rules": {
    "cursors": {
      ".volatile": true, // Fire-and-forget 20Hz!
      ".read": true,
      "$session_id": {
        ".write": true,
        ".validate": "newData.hasChildren(['x', 'y'])"
      }
    },
    "boxes": {
      ".read": true,
      "$index": {
        ".write": true,
        ".validate": "newData.isBoolean() && $index.matches(/^[0-9]+$/)"
      }
    }
  }
}

Yeah, Lark Does That

Web Apps

Use LarkJS with Vanilla Javascript, React, or your favorite framework. Sync any JSON data you want, and add in presence and volatile data (great for typing indicators or cursor movement) using the same SDK.

Multiplayer Games & VR

Lark handles high frequency player updates with ease. Our Unity client uses KCP over UDP to ensure your social game feels like it's happening in the same room. And since it's all backed by a true data store, late joins work out of the box.

AI-Native Apps

Lark makes it easy to build the next generation of apps using AI. Your agent can provision databases, update security rules, and inspect data directly using our Lark Skill and CLI tool.

Works with everything you already use

JavaScript
TypeScript
React
Node.js
Swift
Kotlin
iOS
Android
Unity
Flutter
C#
{} REST API

Lark x Firebase

When Firebase realtime database launched, it was a breath of fresh air. But somewhere along the way, Google lost the thread. The realtime database become an afterthought, and their outdated pricing started feeling like a toll on your success. Build on a foundation that's shipping, not stagnating.

1

The API you already know

Just change firebaseio.com to larkdb.net in your Firebase config. You're done.

Lark can be used as a drop-in replacement for Firebase RTDB in your existing apps. Use the official Firebase SDKs (Web, Mobile, REST). We pass every one of their 300+ integration tests. Keep your auth, keep your code, get a better engine.

2

Features for the modern dev

Firebase was built for 2012. Lark is built for 2026.

  • Volatile Data: Fire-and-forget updates. Perfect for real-time game data or cursor presence, powered by WebTransport in the browser and KCP for game engines.
  • First-Class AI Support: Lark excels at letting your AI coding assistant handle the nitty gritty without making you navigate a labyrinth just to setup your project.
3

Reasonable pricing so you can grow

Firebase hasn't changed their realtime database pricing in nearly a decade.

Lark’s architecture is built to handle millions of interactive events without the usury. Stop doing math and start building features.

Save up to 50% on your current Firebase RTDB bill.