TesterArmyTesterArmy
  • Customers
  • Pricing
Sign inGet started
HomeCustomersJuno case study
Customer story

How Juno tests every pull request on iOS and Android before it merges

Marshall Gould's team of seven builds a health assistant with 250,000 downloads. Since August TesterArmy tests every pull request on both platforms, and by Marshall's count the team ships ten times more than before.

Juno cannot watch what breaks in production, so every bug has to be caught before release. Until August that job belonged to the CEO, who tapped through iOS and Android for a day and a half per release. Now TesterArmy runs the suite on every pull request.

Dithered photo of shelves of small medicine bottles in a historical apothecary
TesterArmyJuno
Case study

"We are shipping PRs ten times faster than we ever have, and that is definitely thanks to TesterArmy."

Marshall Gould
Marshall GouldCo-founder & CEO, Juno
Shipping speed, in Marshall's words
10x faster
Pull requests merged, July to August
+58%
CEO time testing by hand, per week
2 days to 0
The story in Marshall's words
Marshall Gould, co-founder and CEO of Juno, speaking to camera in the testimonial film

Test every pull request on iOS and Android before it merges.

Start testing for freeBook a demo
[01] Who we talked to

The CEO who is also a user

Marshall Gould is the co-founder and CEO of Juno, a health assistant for people living with chronic illness. He holds an MSc in Genomic Medicine from Oxford, where his thesis grew out of time spent with patients between appointments, and he lived with myalgic encephalomyelitis / chronic fatigue in 2020, the same condition a large share of Juno's users have. He talks about the app as a user. "As someone who has to come back to the app every day, it's essential that everything works."

Marshall Gould, Co-founder and CEO of Juno, in the TesterArmy bitmap treatment
Marshall GouldJuno

Jakub Sys is the engineer who owns Juno's release pipeline. He joined on 10 August 2026, into a codebase moving at fifty to a hundred pull requests a day, and setting up TesterArmy was his first task. Before Juno he shipped mobile apps where every change was verified by hand on emulators and real devices, with five features in flight at once and each one waiting for a build and a QA pass. The word he keeps using for the difference is confidence.

[02] The problem

A health app you cannot test in production

Most apps learn about bugs from production. Juno cannot. "Because we are a health app, we're not getting every single person's logs, and we're not screen recording every single thing that they do," Marshall says. Juno strips personal health records from what it collects, so the team has fewer ways to watch what happens on a user's phone. "It almost becomes more important to test beforehand and make sure we have a good regression workflow. So when we enter production, we have less bugs than the average app, simply because we have less capabilities to test in production."

The cost of a bug is different too. A Juno user might log twenty symptoms a day or take twenty medications. "If I mistake taking one medication or I take the wrong dosage, that could be life-threatening. So it's not just an app where it's convenience, it's necessity."

"If I mistake taking one medication or I take the wrong dosage, that could be life-threatening. So it's not just an app where it's convenience, it's necessity."

Until August, testing was Marshall. "Before TesterArmy, it was just me tapping." A proper pass through the iOS and Android builds, screen by screen, took a day to a day and a half. With one or two updates a week, that came to two full days a week the CEO did not spend shipping or growing the company.

Juno's home screen on an iPhone, on the TesterArmy dithered clouds

The update that broke sign-in

Manual testing misses things, and one miss reached users. Google sign-in on Android broke, and for a whole update nobody could sign in or sign up that way. "That caused a lot of churn. These sorts of things would have been identified easily by a regression suite, which we didn't have in place at the time."

[03] Why TesterArmy

What Juno tried first

Marshall did not go straight from tapping to TesterArmy. He had Codex run tests on a simulator. He then drove a jailbroken phone with Claude Code so an agent could tap through real hardware. That worked for payments and notifications, but standardized tests kept failing when the agent ran out of memory or lost track of what it was doing. He paid for two agentic QA products. On one, a single test was a ten-page pseudocode document. On the other, natural-language tests needed several rounds to pass once, and the agent could sit on one screen for ten minutes burning credits. Neither ran on pull requests. He cancelled both in July 2026 and posted on X that he was looking for manual QA testers.

It started with a post on X

TesterArmy came in through the same post. Jakub set it up on his first day. He handed the docs to a coding agent, uploaded the release build, and pointed the CI at the TesterArmy API on pull requests. First runs happened on 14 August. Juno subscribed on 21 August.

"Before TesterArmy, it was just me tapping."

Marshall's own explanation of why the earlier attempts fell short comes down to mobile. "On a website you can quickly test regressions in the browser. In terms of a mobile app, it's a lot more complicated. You really need to be testing on a physical device or a simulator, with an agent that understands the workflow of things it needs to test, and device logs at the same time. Without that, you can't be shipping as quickly as web apps can."

"You really need to be testing on a physical device or a simulator, with an agent that understands the workflow of things it needs to test, and device logs at the same time. Without that, you can't be shipping as quickly as web apps can."

[04] How TesterArmy helps

A regression suite on every pull request, iOS and Android

A TesterArmy run on Juno's iOS app with the agent's issue report
Use case 01/Mobile Testing

Every pull request, both platforms

Juno's CI calls TesterArmy on pull requests. TesterArmy reads the diff, decides whether the change needs a run, and executes the regression suite on iOS and Android simulators, about six runs per pull request at roughly five minutes each.

Jakub arrived to a repository moving at fifty to a hundred pull requests a day, and TesterArmy gave him something to review against. "For me to actually review everything from the coding perspective and make sure it's not breaking anything was, let's say, concerning. Once we introduced TesterArmy, it was the aha moment: we can validate it. I have the very first feedback from TesterArmy, and based on that I can review it."

"Once we introduced TesterArmy, it was the aha moment: we can validate it. I have the very first feedback from TesterArmy, and based on that I can review it."

Jakub SysFounding Engineer, Juno
Use case 02

Regression on flows that must not break

The suite covers the paths a Juno user hits every day: onboarding, symptom logging, medication, notifications, the paywall, and account flows like the Google sign-in that once shipped broken. The team writes tests as plain-language user flows, so when a screen changes the agent follows the flow rather than a selector. Marshall no longer tests each pull request himself. "I don't always feel the need to test each one, because I know it goes through TesterArmy, and I know TesterArmy will find bugs in it. And it does find bugs."

Use case 03

From user bug report to fix in production within minutes

Juno's power users have been on the app since October and report anything that changes. The team treats those reports as the gold standard. Marshall's loop: paste the report into his own agent skill, check analytics for the issue in production, launch a simulator to reproduce it, steer the coding agent to a fix, open a pull request. "That would be reviewed by a TesterArmy agent to examine if there are any bugs, any regressions with that fix. If we've confirmed that fix works and it's a high confidence fix, then we can ship it to production and get it to our users within minutes."

JunoFast facts
Segment
Consumer health
Product
Mobile app for people living with chronic illness
Platforms
iOS and Android, React Native with Expo
Team
7 people
Release cadence
Updates once or twice a week, fifty to a hundred pull requests a day
Previous QA
The CEO testing by hand, coding agents on simulators, two agentic QA tools that were cancelled
TesterArmy solutions used
Mobile TestingPR Testing
About Juno

Juno targets chronic illnesses with multiple symptoms a day: long COVID, chronic fatigue, and autoimmune conditions such as lupus and Hashimoto's. People with these conditions see doctors several times a month and often feel that nothing is working. Juno tracks symptoms and medication through conversation by text or voice, finds patterns over time, and gives doctors context before an appointment so the patient does not have to tell the same story again. It launched in October 2025, went through Y Combinator's Spring 2026 batch, and has 250,000 downloads across the App Store and Play Store.

[05] The results

Ten times the throughput, two days a week back

Marshall is precise about what changed and what did not. "It doesn't necessarily save time in the sense that we're pushing updates faster, but we are pushing ten times more product features."

Asked whether Juno could ship this fast without TesterArmy, Marshall did not hesitate. "No. Unless we have a team of ten QAs."

Pull requests merged, Juno repository
501
791
July 2026August 2026

Merged pull requests, July and August 2026, from Juno's repository. Jakub Sys joined on 10 August and TesterArmy first ran on 14 August. The ten-times figure in Marshall's quote is his own estimate.

  • Pull requests shippedBefore TesterArmyThe pace one person could test by handWith TesterArmyEvery pull request tested, ten times faster by Marshall's count10x
  • CEO time on release testingBefore TesterArmyA day to a day and a half per release, two full days a weekWith TesterArmyTesterArmy runs on every pull request, Marshall does not test each one2 days a week back
  • Coverage per releaseBefore TesterArmyOne manual pass, screen by screen, when there was timeWith TesterArmyEvery pull request, iOS and Android, before mergeBoth platforms
  • Bugs like the Android sign-in breakBefore TesterArmyFound by users, after a whole update, with churnWith TesterArmyCaught in the pull requestCaught before release
  • TeamBefore TesterArmyTwo people, the CEO doing QAWith TesterArmySeven people, human QA plus TesterArmyCEO back on product
MetricBefore TesterArmyWith TesterArmyImpact
Pull requests shippedThe pace one person could test by handEvery pull request tested, ten times faster by Marshall's count10x
CEO time on release testingA day to a day and a half per release, two full days a weekTesterArmy runs on every pull request, Marshall does not test each one2 days a week back
Coverage per releaseOne manual pass, screen by screen, when there was timeEvery pull request, iOS and Android, before mergeBoth platforms
Bugs like the Android sign-in breakFound by users, after a whole update, with churnCaught in the pull requestCaught before release
TeamTwo people, the CEO doing QASeven people, human QA plus TesterArmyCEO back on product

Run the same regression suite on your next pull request.

Start testing for freeBook a demo

Next for Juno is a major update: a model that predicts the symptoms a person is likely to have and suggests the highest impact change for the day, built on wearable data, what the user tells Juno, and more than a hundred environmental factors such as air pressure, weather, pollen, and pollution. A clinician study reviewing Juno's inputs and outputs for medical accuracy starts this month, with results in about a month. The regression suite is what lets the team ship all of it weekly.

"Now I'm not in a position where I have to do all these things manually myself. You can focus on code quality and product, where you're not spending most of your life just fixing bugs."

Marshall Gould
Marshall GouldCo-founder & CEO, Juno
[06] Key takeaways

What Juno's setup says about testing a health app

  • 01If you cannot test in production, test before it.Health apps see less of what happens on the device. Juno moved the burden to pull requests, where a regression suite can run before anyone is affected.
  • 02Mobile is the hard case.Web regressions can be tapped through in a browser. A mobile app needs a device or simulator, an agent that understands the flow, and the logs. That is what the earlier tools and coding agents did not deliver.
  • 03The win is throughput and confidence.Marshall says himself that a single release is not faster. The same team ships ten times more because nobody has to wonder what the change broke.
  • 04Agents and humans test together.Juno kept human QA. TesterArmy takes the every-pull-request load, and people look where the agent points.
More customer storiesNovu cut flaky tests in half and merges about 30% faster
[07] Contact us

Shipping to people who cannot afford a bug?

TesterArmy's agents test every pull request like real users, on iOS, Android, and web, from plain-language flows. If your release process is one person tapping through the app, do what Juno did and put the suite on every pull request.

Book a demoStart testing for free
Juno

Live with a chronic illness?

Juno tracks your symptoms and medication and prepares you for appointments.

Download Juno
XLinkedInDiscord
TesterArmyTesterArmy

AI-powered QA testing for modern teams. Ship faster with confidence.

SOC 2 Type 2 badge
GDPR badge

© 2026 TesterArmy, Inc.

Solutions
  • AI app testingAI app testing
  • EcommerceEcommerce
  • Expo app testingExpo app testing
  • MobileMobile
  • Production monitoringProduction monitoring
  • React Native testingReact Native testing
  • WebWeb
  • WordPress testingWordPress testing
Quick links
  • HomeHome
  • DemoDemo
  • FeaturesFeatures
  • How it worksHow it works
  • FAQFAQ
  • PricingPricing
  • Get a demoGet a demo
  • About usAbout us
  • Contact usContact us
Resources
  • DocumentationDocumentation
  • Recruit a FriendRecruit a Friend
  • Affiliate programAffiliate program
  • BlogBlog
  • Open sourceOpen source
  • CustomersCustomers
  • API referenceAPI reference
  • Getting startedGetting started
Compare
  • PlaywrightPlaywright
  • MomenticMomentic
  • SpurSpur
  • QA WolfQA Wolf
  • MablMabl
  • BrowserStackBrowserStack
  • All comparisonsAll comparisons
  • Migration playbooksMigration playbooks
Legal
  • Privacy policyPrivacy policy
  • Terms of serviceTerms of service
TesterArmyTesterArmy
  • Customers
  • Pricing
Sign inGet started
Quick links
  • HomeHome
  • DemoDemo
  • FeaturesFeatures
  • How it worksHow it works
  • FAQFAQ
  • PricingPricing
  • Get a demoGet a demo
  • About usAbout us
  • Contact usContact us