Skip to content
Case study · internal tooling

Crash reporting, built in-house.

A product team's crash reports and engineering tasks lived in paid third-party tools. I built two internal platforms that replaced them.

Platforms built2
BackendNode
Paid tools left0
01 — The problem

Paying rent on your own crash data.

Costs grew with usage, data sat outside the company, and neither tool fitted how the team worked.

The new tools had to run alongside the old ones until the team trusted them, with no gap in crash visibility.

02 — What I did

Four steps, all reversible.

  1. Map the workflow

    How the team actually triaged crashes and tracked release work.

  2. Crash pipeline

    Offline queue on device, sync, grouping, stack traces with release metadata.

  3. Task tracking

    A board shaped around the team's release cycle, not a generic one.

  4. Switch over

    Both vendors removed once the team worked in the new tools.

03 — Result

Two vendors gone. Data stays home.

Crash data and engineering tasks now stay inside the company, in tools the team owns and can change.

Paid crash SaaStoIn-house
Paid task tooltoIn-house

Flutter · Node.js · Express.js · Supabase

04 — More work

Anonymised by default.

Your app next?

Stuck on an old Flutter?

Send the repo. Get the plan in 48 hours.