Pouls
Formula v1, published

Your app has a score out of 100. It goes up or down with every release.

Pouls installs your APK on real phones, launches it, walks through it, stresses it, and turns that into a reliability score. Not a green light: a number that moves, with the reason for every lost point.

No credit card to start. Secure payment through Stripe when you change plan.

76 / 100 Good
Example campaign: 5 journeys, one device, formula v1.
Inside the score

Five pillars, their weight, their score

The score is the weighted average of the measured pillars. In the example: 76 out of 100, “Good”, 24 points lost.

  • Stability 30 pts 73/100

    Crash-free runs 96 % · ANRs per run 0.05 ANR/run

  • Journeys 25 pts 70/100

    Passed journeys 90 % · Passed steps 94 %

  • Speed 20 pts 68/100

    Cold start 1,600 ms · Slow steps (> 3 s) 12 %

  • Network 15 pts 92/100

    HTTP errors per run 0.1 errors/run · Timeouts per run 0.02 timeouts/run Incomplete: the missing weight is redistributed.

  • Efficiency 10 pts 88/100

    APK size 38 MB Incomplete: the missing weight is redistributed.

What is missing, and why

A pillar with no measurement neither helps nor hurts: it is dropped and its weight redistributed. Inside a pillar, a missing measurement redistributes its weight to the ones present. No default value is ever invented.

  • Network — Degraded network (4G, cut) (the netprobe job type cannot run (no Sonde app): degraded 4G and network cuts are not measurable)
  • Efficiency — Peak memory (no Hangar job type exposes dumpsys meminfo; the platform does not hand out a shell)

Measurement coverage

100 %of the pillar weight

Every pillar has at least one measurement. A missing measurement inside a pillar does not change this coverage: it redistributes its weight to the ones present — that is the case for network here.

In all honesty

What we do not do

A product that hides its limits wastes everybody's time. Here are ours, today.

  • Crash video is not recorded yet: the station can film a journey, but not yet attach it to an incident.
  • Memory, data usage and battery are not measured: the platform does not expose those readings yet.
  • Degraded 4G is not tested, for lack of a measurable device on those networks.
  • No release has been scored on real hardware yet: the fleet is one device today.
  • The score does not yet compare your app against a competitor.
What it does

Concretely

A score, not a feeling

Five pillars — stability, journeys, speed, network, efficiency — scored 0 to 100, then weighted. The formula is published: you can argue with it, not just live with it.

Every lost point is explained

The score is not a black box. Pouls attributes each missing point to a specific measurement, with its value, the expected threshold and the matching evidence.

A score that recomputes

The formula is versioned. When it changes, your whole history is replayed with the new version — otherwise comparing two releases would mean nothing. Two passes always give the same result.

On real devices, not an emulator

An emulator never runs out of battery, never heats up and never loses signal underground. The measurements come from real phones in the fleet.

The explanation

76 out of 100, and the 24 missing points named

Pouls does not stop at “76”: every missing point is attributed to a measurement, with its observed value, the points it earns and the threshold that would earn them back. That is what lets you argue with the score instead of living with it.

Measurement Observed Points Lost Next threshold
Crash-free runs
Stability
96 % 67.5/100 −5.74 90 pts at 99 %
ANRs per run
Stability
0.05 ANR/run 80/100 −2.36 100 pts at 0 ANR/run
Passed journeys
Journeys
90 % 70/100 −5.25 85 pts at 95 %
Passed steps
Journeys
94 % 70/100 −2.25 75 pts at 95 %
Cold start
Speed
1,600 ms 72.5/100 −3.3 85 pts at 1,200 ms
Slow steps (> 3 s)
Speed
12 % 61.33/100 −3.1 80 pts at 5 %
HTTP errors per run
Network
0.1 errors/run 90/100 −0.84 100 pts at 0 errors/run
Timeouts per run
Network
0.02 timeouts/run 94/100 −0.36 100 pts at 0 timeouts/run
APK size
Efficiency
38 MB 88/100 −1.2 100 pts at 20 MB

24 points lost, 9 measurements named. Declared points and the gap to 100 − score reconcile to within half a point.

Questions

Frequently asked questions

What if a measurement is unavailable?

That pillar is dropped and its weight is redistributed: no advantage, no penalty. And if nothing is measurable, the score is "not measured" — never zero, which would be a lie by omission.

Where does the drop alert come from?

A drop of more than 10 points raises an alert (11 points do, 10 do not), critical from 20. Below that it is measurement noise, and crying wolf erodes trust.

Can I see the measurements?

Yes. Every published score comes with its measurements, its evidence and the formula version used. A shareable public page lets you pass on the result without giving access to your account.

Score your next release

Publish an APK, run a campaign, get a score and the reason behind every lost point. Free to start.