Skip to contentAbdalla Emad Eldin— Dubai

Marsad

Live

Error, performance and analytics platform

One SDK that carries errors, traces, Web Vitals and cookie-free analytics out of Next.js and Expo apps — including crashes that happen before JavaScript is running. Marsad means observatory.

marsad.space

14
tools exposed to AI assistants over MCP
5
native crash classes captured
0
cookie banners required
Role
Sole engineer — SDK, ingestion, web app, MCP server, billing
Stack
TypeScriptNext.jsExpoReact NativePostgreSQLSwiftKotlinOAuth 2.1MCP
marsad.space
Marsad — issue list and traces

Why another one

Small teams end up paying for three products to answer one question: what is happening in my app. An error tracker, an analytics tool, and something for performance — each with its own SDK, its own pricing, and its own idea of who a user is. Marsad carries all three signals out of one integration, priced flat rather than per seat, because the target customer is an indie developer or a team of five.

Stack traces that survive the build

A minified stack trace is useless, and the usual fix — uploading source maps and tagging them with a release you remember to bump — fails quietly the moment someone forgets. Marsad stamps a debug ID into each build and matches it to the map automatically, so minified web frames and Hermes frames resolve to real files and lines with no release bookkeeping by the developer.

Every captured error also carries a short reference code that a user can read out to support, so a complaint arrives attached to the exact issue rather than to a description of it.

The crashes that happen before JavaScript

A React Native app can die in ways JavaScript never sees: an iOS signal, an NSException, a Swift trap, a JVM crash, an Android ANR, or a C++ abort in a native module. Those are captured natively and sent on the next launch, which is the only moment the process is alive to send them. The event queue is persisted and retried with backoff, so reports survive reloads, flaky networks and the crash itself.

Counting people without following them

Analytics here uses a rotating hash rather than an identifier stored on the device, which means page views, referrers, campaigns, devices, countries and live visitors are all available with nothing to consent to and no banner to dismiss. Losing cross-day identity is the deliberate trade: it costs a cohort report and buys a product that is legal to ship in Europe without a lawyer.

Debugging by conversation

Marsad ships a remote MCP server, so an AI assistant can hold the same fourteen tools a developer would use: issues, events, stack traces, transactions, traces, releases, logs, affected users, and the actions to resolve, assign and comment. Access is scoped on a consent screen and read-only by default, and can be revoked. Asking “what is the worst new issue in checkout since Friday” is faster than finding the same answer through five dashboard filters, and the answer arrives with the stack frame attached.

What I would change

Native crash capture shipped as beta and should have been first. It is the part nobody else gives a small team affordably, it is the hardest to retrofit, and every week it stayed in beta was a week the product was easy to compare against cheaper web-only trackers.