Connect Sentry to your Goodspeed app
Crash reporting wired into every generated app with null-safe init, breadcrumb helpers, and sensitive-key redaction. Goodspeed wires Sentry into every app that needs it at generation time, so you start with a working integration, not a blank config and a documentation tab.
WHAT GETS WIRED IN
Built into every Sentry build
Every app Goodspeed generates with Sentry includes these wired integrations from the first build. No manual setup required.
| Item | Description | Strength |
|---|---|---|
| Off unless configured | Sentry.init runs only when a DSN is present and crash reporting is switched on, so an unconfigured app sends nothing anywhere. | Reliability |
| Sensitive keys redacted | Any property matching a thirty-pattern list (password, token, secret, apiKey) is stripped before an event leaves the device. | Auth |
| Readable event trails | addBreadcrumb() is called across the analytics, purchase and service layers, so a crash arrives with the steps that led to it. | Reliability |
| User context after sign-in | setSentryUser attaches subscription tier, app version and device model to the error scope. | Reliability |
| Performance spans | captureTransaction wraps expensive work such as image upload and offline replay, so slow paths are measured rather than guessed at. | Reliability |
Source: the Goodspeed app foundation · error-monitoring
REAL GENERATED CODE
A snippet from a Sentry integration the pipeline ships
This pattern is lifted from the engineered plumbing that ships inside every Goodspeed app. The studio generates Sentry integration code like this for every app that includes it, not a placeholder you have to fill in yourself.
Null-safe init
// lib/sentry.ts const dsn = process.env.EXPO_PUBLIC_SENTRY_DSN ?? ''; const isEnabled = gasConfig.features.analytics.crashReporting && !!dsn; if (isEnabled) { Sentry.init({ dsn, tracesSampleRate: 0.2 }); } export function sanitizeData(data: Record<string, unknown>) { const SENSITIVE = /password|token|secret|apiKey|authorization/i; return Object.fromEntries( Object.entries(data).map(([k, v]) => [k, SENSITIVE.test(k) ? '[REDACTED]' : v] ) ); }
Today's log
APPS THAT USE SENTRY
Where this integration ships
These app types include Sentry as part of the generated stack. Each link goes to a full spec page with capabilities, scored ideas, and a pipeline walkthrough.
- Build a social appBuilding a social app from scratch means solving hard infrastructure problems: real-time feeds, fan-out writes, notification delivery, and content moderation hooks. Goodspeed generates a complete sociSOCIAL APP
- Build a fitness tracker appBuilding a fitness tracker means wiring together daily logging, progress charts, Apple Health, and push reminders. Goodspeed generates all of that in a single build, not a patchwork of tutorials. The FITNESS TRACKER APP
- Build a productivity appProductivity apps succeed when they remove friction from the moment the user decides to work. Goodspeed generates a productivity app with Pomodoro timer, focused task queue, distraction blocker hooks,PRODUCTIVITY APP