A mobile app rebuilt and released in 12 weeks. Then we engineered the AI behind it.
An existing digital health product needed a new engineering foundation and a path to market. Olensys rebuilt the mobile application, brought it to the App Store in 12 weeks, and continued into the AI capabilities behind the product.

- Services
- Mobile rebuild, AI service rewrite, Infrastructure & compliance
- Industry
- Digital health
- Type
- Mobile app + AI service
- Year
- 2026
The engagement in brief
The short version, for whoever signs off.
01 · The situation
A live web product, a backend that could not be touched, a mobile app to rebuild from a design prototype, and an AI service in one 3,005-line file. A requirement: every model call on the company's own cloud, under its existing data agreement.
02 · What Olensys did
Ran two workstreams. Built the mobile app against the live backend, with builds going to TestFlight on every version tag. Reviewed the AI service, then rewrote it as a set of agents, with a guardrail agent gating every user-visible health output.
03 · What was released
The app went live in the App Store in September 2026 and has had a release every week since; by 16 Oct 2026 there had been 88 TestFlight builds. Four AI paths cut over behind feature flags with no client-side change. Chat and the agents run on the company's own cloud (Vertex AI).
04 · How
A two-person pod, led by a senior engineer, with AI across the lifecycle and a human merging every PR. Every PR carried its evidence.
05 · Sources
The client is not named. The dates and counts on this page come from its repositories, App Store Connect, and the project's own records, not from memory, except those dated under the table, which are Olensys's own account.
The challenge
The client needed a mobile app it could take to market. Its consumer digital-health product (biometric scans, personalized protocols, wearable data, and a coaching assistant) was live on the web, on GKE, but the mobile app had reached the end of a prototype's life. An earlier attempt at it, built with an AI app-builder, had 380 commits, zero tests, and no pipeline, and had been abandoned.
The rebuild started on 23 Jun 2026, under two limits. The new design existed only as a design prototype. The backend, with 149 database models, was live and could not be touched for the rebuild.
Behind the web product and the app sat the AI service. On 13 Aug 2026 Olensys reviewed it. It was not agentic: a retrieval pipeline over CMS articles, hard-coded prompts, a keyword router, and a scoring engine, in a single 3,005-line Python file. It wrote raw SQL against about 16 tables owned by another service, bypassing the API contract. Biometric scans, habit completions, streaks, and journals were in the database and never reached the model. Chat called an external model API. A requirement: every model call on the company's own cloud, under its existing data agreement.
Two problems, one constraint: nothing the users could see was allowed to break.

What we did
Two workstreams, each with its own dates. The mobile app: first commit 23 Jun 2026, live in the App Store in September 2026. The AI service: reviewed on 13 Aug 2026, four paths cut over by 24 Aug 2026. Olensys owned the engineering in both: the code and its tests, the app's TestFlight builds, and the evidence each change carried.
The app, against production from the start. The rules were written into the repository: the backend was read-only to the app team, "never invent endpoints, mock data, or drop sections to match a mockup," and every gap found went into a committed register that each pull request had to list. The design prototype was the design source of truth. By 25 Jun the React Native app was wired to the live backend. A missing endpoint stopped the work and went on the gaps list: no screen could show fake data. Every screen was verified against the prototype with simulator screenshots, not prose.
Tested on every tag, released through App Store review. The first TestFlight build was delivered eight days after Olensys took the project over. From then on, builds went to TestFlight on every version tag — type-check, tests, Fastlane. App Store review found real issues (a hidden weight slider on iPad, consent flow, citations); each was fixed and resubmitted with a recording as evidence. The app went live 12 weeks after the first commit.
The AI service: a separate workstream, rewritten behind an unchanged contract. The requirements document tagged every behavior as rewrite, new or fix. Six decisions were locked before code: agents self-hosted in the client's cluster; Vertex AI as the model plane, under the existing data agreement; a new TypeScript service on Google's Agent Development Kit; tool access to data only through the backend API (no database driver in the repository, ever); a two-track migration — existing features move onto agents behind a byte-compatible legacy contract, new capabilities are released as clean v2 endpoints; Gemini for reasoning and routing.
A guardrail agent owns the only path from agent output to an HTTP response or a memory write. Structured outputs — protocol JSON, analysis summaries — pass a blocking judge gate. Golden byte fixtures replay three parsers verbatim so the backend, the app, and the website see exactly what they saw before.

Cut-over by flag. Chat, intent classification, protocol generation, and habit metadata were routed to the new service behind backend flags, verified end to end including multi-turn, with the old service untouched. The decommission checklist names every remaining call site and whether it is ported or retired.
Then infrastructure and compliance. Compliance evidence automated against the client's audit platform; a dormant partner API gateway destroyed in dev and prod; identity secrets moved out of Terraform; audit-log export with 365-day retention.
What broke
- Problem: the project came with security and SSL failures. Olensys inherited them when it took the project over. Decision: fix them straight away. Resolution: the team fixed them quickly, at the start of the engagement.
- Problem: the first App Store submissions were rejected. A weight slider was hidden on iPad, and the AI-consent flow and source citations needed to be demonstrable. Decision: fix each one and resubmit it with a screen recording as evidence. Resolution: Apple's review ran for four weeks, over six iterations, and the app went live in September 2026. The recordings are in the submission folder, and the pattern is now the default.
- Problem: the first reading of the AI service was wrong. An early draft of the review called the legacy service "agentic." Decision: read the code, not the architecture slide. Resolution: the code showed a pipeline, and the requirements were rewritten before any new code was written.
- Problem: one release "was a challenge." The client said so in a stand-up, and it was true: a build went out with QA test coverage missing. Decision: move releases to a fixed weekly cadence with a go/no-go owner. Resolution: the missing tests went in.
- Problem: meeting notes drifted from the transcript. Auto-generated notes recorded decisions that had only been floated. Decision: treat the transcript, not the notes, as the record. Resolution: Olensys now reconciles every stand-up against the transcript before acting on a "decision."
The results
The app reached the App Store despite Apple's stringent review of health and fitness apps. The review ran for four weeks, over six iterations. Since release, the app has had a new version every week. The feedback loop has produced three redesigned versions of the app. The client was able to run cohort and targeted campaigns aligned with major fitness and sports events.
The table sets each workstream's starting point (Baseline) beside what it delivered (Result): the mobile app in the first four rows, down to its release cadence, and the AI service in the last four, down to the paths cut over.
| Metric | Baseline | Result | Source |
|---|---|---|---|
| First commit → App Store live | — | 23 Jun → Sep 2026 (12 weeks) | mobile app git; App Store Connect |
| TestFlight builds | 0 | 88 | repositories, 16 Oct 2026 |
| Commits / PRs, mobile app | — | 279 / 180 | git log, 16 Oct 2026 |
| Release cadence after launch | — | Weekly | stand-up record, 12 Oct 2026 |
| AI service size | 1 file, 3,005 lines, Python | New service, layered, dependency rules enforced in preflight | AI service repository |
| Database access from the AI service | Direct SQL, ~16 tables | None; backend API only | AI service architecture rules |
| Model provider for chat | External API | The company's own cloud (Vertex AI) | model config |
| AI paths cut over, no client change | 0 | 4 (chat, classify, protocol modes, metadata) | decommission checklist, 24 Aug 2026 |
Methodology: the table's dates and counts come from the client's repositories and App Store Connect, and its cut-over status from the decommission checklist. The client is not named; no figure in the table was supplied from memory. Outside the table, the redesign count is Olensys's own (30 Oct 2026). So are the security and SSL fixes, the eight days to the first TestFlight build, the review's weeks and iterations, and the client's campaigns (31 Oct 2026).
Where the capacity went
The effort went into released product capabilities: the rebuilt app, live in the App Store, and chat, intent classification, protocol generation, and habit metadata, served by the new agents through the guardrail. The infrastructure work beside them automated the compliance evidence against the client's audit platform.
With those stable, the client's priorities moved to the product's next steps: a first user cohort and an organization selector. The engineering conversation in stand-ups moved from "is it broken" to "what ships next week."
