A place from which you watch
Marsad is مَرْصَد — the Arabic noun of place from the root ر-ص-د, “to watch”. It means observatory: the place you watch from. We took the name because that is the whole job of the product. Marsad is a hosted monitoring service for Next.js and Expo applications. One drop-in SDK captures unhandled errors and crashes, every network request, performance traces, Web Vitals and cookieless page analytics, then groups them into issues you can triage. It is not self-hosted; you install the package, point it at a project key, and the data arrives here. What makes it unusual is the MCP server: your AI assistant can connect over OAuth and query the same data you see, so debugging a production error can happen in a conversation rather than in six browser tabs.
Why it exists
Three tools to answer one question is the normal state of front-end monitoring, and it is a bad deal.
A typical stack runs an error tracker, an analytics script and something for Web Vitals. Three vendors, three SDKs on the critical path, three bills, and three different ideas of what a “user” is. When something breaks at 2am you are correlating timestamps across dashboards that do not agree with each other.
Marsad captures all of it in one SDK, so an error already has the requests that preceded it, the trace it happened inside, and the release it shipped in. And it counts traffic with a rotating hash rather than a device identifier — which is why there is no consent banner in front of your own product.
How it is built
The parts worth knowing about, because they are the ones that are hard to get right.
- Symbolication, not stack soup
- Debug IDs match each build to its source map automatically. Minified web frames and Hermes frames from React Native both resolve to your real files and line numbers, with no release bookkeeping on your side.
- Cookieless by construction
- A visitor id is an HMAC of the day, project, IP and user-agent under a server-side salt. The raw IP is never stored, and because the day is an input, ids cannot be correlated across days.
- A remote MCP server
- Fourteen tools behind OAuth 2.1 with PKCE, scoped to the organization and permissions you approve on a consent screen. Read-only by default; triage is opt-in.
- Offline-resilient delivery
- The event queue is persisted and retried with backoff, so errors survive reloads, flaky mobile networks and the crash that produced them.
Who builds it
One person, which is worth saying plainly rather than hiding behind a plural.
Abdalla Emad Eldin
Founder, Outworx
Founder of Outworx. Built Marsad end to end — the SDK, the ingest pipeline, debug-ID source-map symbolication for web and Hermes, and the remote MCP server.
Everything on the blog is written by him. Marsad is the tool he wanted while shipping other people's Next.js and Expo apps and paying for three vendors to answer one question, so the opinions baked into it — one SDK, no consent banner, symbolication that needs no release bookkeeping — come from having been on the other side of them.
GitHubPoint it at a project and watch
The free plan needs no credit card, and setup is one package and one call to init().