Introduction
Galacha is a session-replay platform for web and React Native apps. You install a small SDK, it records what your users do, and you watch the replay in the dashboard. It's a private tool . the SDK is the only part you integrate; the backend, storage, and player are ours.
Think of it as a LogRocket-style tool, tuned for Tanzania-first teams and the mobile stacks they actually ship on.
What gets captured
| Signal | Web | React Native | How |
|---|---|---|---|
| Full visual replay | ✓ | ✓ | DOM snapshots on web, native screen frames on RN |
| Clicks / taps | ✓ | ✓ | Position, element, rage-click detection |
| Scroll | ✓ | ✓ | Per-container on web, full viewport on RN |
| Touch trails | — | Android | 30Hz native move events; iOS on roadmap |
| Unhandled errors | ✓ | ✓ | Stack trace + the exact replay frame |
| Network (fetch / XHR) | ✓ | ✓ | Timing, status, headers. Bodies are opt-in |
| Console logs | ✓ | ✓ | log / warn / error piped into the timeline |
| Navigation | ✓ | ✓ | History API on web, navigation events on RN |
| Custom events | — | ✓ | Galacha.track(name, props) on React Native |
How it fits together
At a high level, there are four pieces you interact with:
- The SDK . installs in your app. Buffers events and frames in memory, batches them, ships them to the API over HTTPS.
- The API . receives batches, validates the project key, and writes them to durable storage.
- The dashboard . at galacha.me, where you browse sessions and watch replays.
- The project key . the token your SDK authenticates with. Each project has its own.
You don't host anything. You don't run your own database. You don't manage R2 buckets. Sign up, get a project key, drop the SDK in, record a session. The replay shows up in the dashboard a few seconds later.
How you install it
Web: load the script bundle from sdk.galacha.me/v1/galacha.min.js and call Galacha.init({ projectKey }) on page load. There is no @galacha/sdk, @galacha/react, or @galacha/nextjs npm package. Plain HTML, Next.js, Vite, Vue, and Svelte all load the same bundle . the framework just determines which lifecycle hook you call init from. The Web guide has copy-paste snippets for each one.
React Native: install @galacha/react-native from npm, wrap your app in <TouchCaptureView>, and call Galacha.init({ projectKey }) from a mount effect. The package ships Kotlin and Swift, so you rebuild the dev client after installing . a JS reload alone won't pick up the native module. See the React Native guide.
What Galacha is not
- Not an open-source library you self-host. The SDK is distributed as a bundle you drop in; the backend runs on our infrastructure.
- Not a competitor to your APM. We don't replace Datadog or Sentry. We show you why a user hit the error your APM flagged.
- Not a product analytics tool. There's no funnel builder, no cohort analysis. If you want Mixpanel, use Mixpanel. Galacha is the "play the tape back" tool.
Pricing in plain words
- New projects get 2,000 sessions free, one-time. No card required.
- After that, pay-as-you-go. Credits never expire. Sessions without metadata (zombies) are never charged.
- See pricing on the dashboard.
Next
- Quickstart . shortest path to a recorded session
- Web . HTML, Next.js, Vite, Vue, Svelte
- React Native . native capture, touch trails,
TouchCaptureView