Case Study · SessionzInherited rebuild · shipped

From iOS-only to everywhere.

Client
Sessionz
Sector
EdTech · Mobile · Community marketplace
HQ
Toronto · Canada
Engagement
Inherited rebuild + cross-platform
1 → 2Platforms — iOS plus Android
Zero gapUser disruption during cutover
Cleanly inheritedInherited codebase, rebuilt clean
TBDEngagement lift from Host ConnectionsTBD
01A growing EdTech marketplace, capped at one platform.

A great product reaching half the audience it could.

Headquarters
Toronto, Canada
Category
EdTech marketplace · Live sessions
Audience
Learners ↔ experts · hosted communities
Engagement model
Inherited rebuild + cross-platform
Founder
Andres Pareja

Sessionz is a Toronto-based educational platform that connects learners with experts through live one-on-one and group sessions. A working product. A growing audience. Hosts already on the platform doing real work with real learners.

But the app was iOS-only, built on a legacy React Native codebase that Sessionz had inherited from another company with minimal handover. Outdated dependencies, no documentation, and the kind of technical debt that makes even routine maintenance hard — let alone the Android build the roadmap had been asking for.

The brief wasn't 'rescue us.' It was simpler and harder: keep the people already on iOS happy, expand to Android without disrupting them, and do it on a codebase someone else could pick up if they had to. Take real ownership of an app you didn't write.

02The Challenge

A working product, capped at one platform.

Sessionz arrived with four problems that were really one problem wearing four hats — an inherited app on a fragile codebase, with a growing audience and ambitions that the foundation couldn't carry. The order in which we tackled them mattered.

01

iOS-only, capped audience

The app shipped to iOS only. Every Android learner who heard about Sessionz from a friend, an instructor, or an ad hit a wall at the App Store — and a meaningful slice of the addressable market lived on the other side of that wall.

Reach
02

Legacy codebase, no map

The React Native codebase was inherited from a previous dev shop with no architectural docs, no decision history, and outdated dependencies. Even keeping the live app stable cost more effort than it should have — and onboarding any new engineer began with archaeology.

Inheritance
03

Patch vs. rebuild — honestly

Patch the legacy app to also serve Android, or rebuild on a modern foundation? The first option was cheaper this quarter and more expensive every quarter after. The second was the right call — but only if the existing iOS users didn't feel any of it.

Strategy
04

Host networking, blocked by debt

The roadmap had been asking for an in-app way for hosts to communicate with each other — community is what makes the marketplace stick. With the legacy codebase, even the smallest community feature was risky to add. The rebuild had to make space for it.

Community
Streaver's approach to working on products they're passionate about is impressive. The team is really involved and cares about what they're building — strengthening our idea and suggesting alternatives.
Andres ParejaFounder & CEO · Sessionz
03Selection

Why Sessionz handed us an app they didn't write.

Inheriting someone else's codebase is a trust test before it's an engineering test. Three reasons Andres trusted us with the keys.

Ownership of inherited systems.

Sessionz didn't need an augmentation contract. It needed a team willing to read someone else's code, hold the live app stable, and ship a rebuild cleanly enough that the next team — whoever that is — wouldn't have to re-do the archaeology. Streaver had taken over inherited systems before, on similar terms.

Cross-platform mobile expertise.

Cross-platform mobile is its own discipline — React Native and Expo, two app store review cycles, parity testing across devices, and a release pipeline that doesn't drift between platforms. Streaver's mobile practice has shipped this kind of work before, not as a side project.

Honest technical judgment.

The patch-vs.-rebuild call is where a lot of engagements quietly go wrong — the wrong call is profitable for the vendor either way. Andres needed someone who would tell him honestly which one served the product, even if rebuild was the harder thing to sell. We made the call, walked through the trade-offs, and put it in writing.

04The Flip

One platform became two. Without losing the first one.

The arc of the engagement, in four lines: legacy iOS to modern iOS, no Android to full Android, half the audience to the whole one, and an inherited mess to a codebase Sessionz can hand to anyone next.

Before vs. after the rebuild

  • iOS app

    Legacy · aging · fragileBefore · Inherited
    Modern · rebuilt · stableAfter · Rebuilt
  • Android availability

    Unavailable · no Android users could joinBefore · Inherited
    Live · full feature parityAfter · Rebuilt
  • Reach

    iOS users onlyBefore · Inherited
    iOS + Android · audience doubledAfter · Rebuilt
  • Codebase

    Inherited mess · undocumentedBefore · Inherited
    Documented · clean · maintainableAfter · Rebuilt
  • Sessionz session detail — an 'Improve Your Tennis' listing with the host's bio, experience and price.
  • Sessionz scheduling — a calendar with morning, noon and night slots and live availability and pricing.
  • Sessionz checkout — a confirm-appointment screen with cancellation terms and an itemised session fee.
The rebuilt appThe rebuilt cross-platform app, end to end: browse a session and its host, pick a time, and confirm with transparent pricing — one React Native codebase shipping to both iOS and Android.
05Decisions

Three calls that defined the rebuild.

01

Ground-up rebuild, not a patch.

We spent the first weeks reading code, mapping dependencies, and testing the limits of the existing app — then put a written recommendation in front of Andres: rebuild from the ground up, on a modern Expo + React Native foundation, with a documentation pass as part of the deliverable. A patch would have shipped faster and aged worse. The decision wasn't comfortable, but it was the honest one.

PrincipleThe right call on patch vs. rebuild is rarely the one that bills more hours. We made the recommendation that served the product and accepted that it would extend the timeline.
02

Parallel support during the rebuild.

Every Sessionz user on iOS was a user who could be disrupted by the rebuild. So the rebuild ran in parallel with on-demand support for the legacy app: we kept the live iOS version healthy, fixed regressions as they came up, and only flipped users to the new build when the new build was at parity and tested. Zero gap, by design — not by luck.

OutcomeNo service interruption to existing iOS users during a full platform rewrite. The cutover felt like an update, not a migration.
03

Host Connections, shipped on the back of the rebuild.

Host Connections — an in-app chat that lets hosts talk to each other directly — wasn't a 'nice to have' tacked onto the rebuild. We pulled it forward as a strategic differentiator the rebuild made possible. Community is the moat in a marketplace product, and the legacy app couldn't have safely shipped it. The rebuild could.

06Honest

What we can't yet quote. What we won't fake.

Pending · audience growth

'Doubled reach' is structural, not yet measured.

We can credibly say the rebuild doubled Sessionz's addressable audience — one platform became two, and Android has more global market share than iOS in most of Sessionz's growth markets. We cannot yet credibly cite a measured user-growth number. That figure belongs to Sessionz's analytics, not our pitch deck.

Pending · feature impact

Host Connections engagement is still gathering data.

Host Connections is live and being used. We don't yet have an engagement lift to point at — the feature needs a few months of steady use before before/after comparisons mean anything, and we'd rather wait than quote a noisy early number.

Missing · stability delta

Stability improvement is real but unquantified.

We don't have a clean before/after crash rate to publish. The legacy app's analytics weren't set up to give us a reliable baseline, and reconstructing one from app store data after the fact would be at best a guess. We'd rather say so than pretend.

07Outcomes

What changed for Sessionz.

Each outcome is paired with the baseline it replaces. TBD badges mark the figures we'd like Sessionz's analytics to confirm before we quote them with numbers.

iOS onlyiOS + Android

Cross-platform reach

Feature parity across both platforms on a single modern React Native + Expo codebase. The addressable market structurally doubled — one app, two stores.

Undocumented · brittle · debt-ladenDocumented · clean · maintainable

Codebase ownership

A modern codebase with an architectural overview, dependency notes, and the kind of README a new engineer could actually onboard from. Sessionz can hand it to anyone — including a future in-house team — without the archaeology we walked into.

Not possible on the legacy appLive, in-app, host-to-host

Host Connections feature

Host Connections shipped as part of the rebuild — in-app chat that lets hosts talk directly, building the community layer that makes the marketplace stickier than a generic booking tool.

Active iOS audience at riskSeamless cutover

Zero user-facing disruption

No user-visible disruption during the transition. The legacy iOS app was supported on-demand through the rebuild, and existing users were migrated cleanly to the new build at parity.

Founder time absorbed by debtRoadmap, not maintenance

Founder focus restored

With the codebase clean and cross-platform, Andres' time shifted from triaging a fragile app to investing in features and growth. The hidden ROI of a rebuild is the founder hours it gives back.

TBD · engineer to verify
Blocked by legacy debtAI-matching · payments · video

Foundation for the next chapter

The rebuild created a foundation Sessionz can now build on — AI-powered learner-to-expert matching, in-app payments and subscriptions, and video quality tuning for international low-bandwidth users. None of these were practical on the inherited app.

08The Team

Four Streavers. A founder. One product.

A small team is the right size for a rebuild of this shape. Mobile lead at the center, backend and full-stack flanking it, and a designer on Host Connections so the new feature didn't arrive looking like a different product.

M
Mobile LeadTBD
Senior Mobile · React Native / Expo

Owned the React Native + Expo rebuild end-to-end. Made the patch-vs.-rebuild call and walked Andres through the trade-offs.

B
Backend EngineerTBD
Senior Backend · PHP / Laravel

Held the backend — REST APIs, session orchestration, and the Laravel surfaces the mobile app depends on.

F
Full-stack EngineerTBD
Senior Full-Stack

Cross-cutting work — auth, payments groundwork, real-time wiring to Firebase, and the cross-device parity test pass.

D
DesignerTBD
Product Designer · Host Connections UX

Designed Host Connections from the ground up — in-app chat that fits the rest of the product instead of feeling bolted on.

How the engagement was structured

Cadence

Direct line to Andres throughout — no account-management layer between the founder and the engineering team making the calls. Weekly product review plus async Slack for everything in between.

Communication

Written recommendations on every meaningful trade-off (patch vs. rebuild, parallel support model, Host Connections scope). Sessionz holds the source of truth — repos, store accounts, infra credentials — at all times.

Pricing

Milestone-priced rebuild: discovery + recommendation, modern stack setup, iOS parity, Android parity, Host Connections, launch. Each milestone signed off before the next began.

IP & trust model

All code, designs, and documentation belong to Sessionz from day one. The clean handoff was a deliverable, not a courtesy — the engagement is built so Sessionz could take it in-house at any point.

Twenty-two weeks, traced

WEEK 00Audit + decisionRead the existing codebase end-to-end, mapped dependencies, tested limits. Delivered a written patch-vs.-rebuild recommendation. Rebuild approved.
WEEK 04Stack setupModern Expo + React Native foundation set up. CI, release pipelines, and the documentation scaffolding that would carry forward put in place.
WEEK 12iOS parity · Android in parallelFeature parity reached on iOS in the new build. Android build advancing in parallel — single codebase, two store pipelines, parity testing across devices.
WEEK 18Host Connections liveHost Connections shipped — in-app, host-to-host chat that the legacy app couldn't have safely supported. The first feature the rebuild paid for in product terms.
WEEK 22Launch + migrationCross-platform launch. Existing iOS users migrated to the new build cleanly; Android opened publicly. Legacy app retired on its own timeline, no rush.
09Stack

Modern, cross-platform, documented.

One mobile codebase shipping to two stores. A backend Sessionz already knew. Real-time messaging on a service that earned its keep. The stack choices were boring on purpose — the point of the rebuild was longevity, not novelty.

Mobile & Frontend

  • TypeScriptstrict, across the rebuild
  • Reactrebuilt UI layer
  • Expo + React Nativesingle codebase, two platforms
  • Laravelweb frontend surfaces

Backend

  • PHPprimary backend language
  • Laravelapplication framework
  • REST APIsmobile ↔ backend contract

Infrastructure

  • DigitalOceanprimary cloud
  • Dockercontainer orchestration
  • Firebasereal-time messaging for Host Connections
10What's Next

What the rebuild made possible.

The rebuild was never the goal — it was the unlock. Three directions Sessionz can now move in without the legacy app fighting back.

Video quality optimization for low-bandwidth regions.

Sessionz hosts learners across regions where bandwidth is uneven. Tuning video quality dynamically — adaptive bitrate, smarter codec choices, graceful degradation — is the next investment in actually making the product feel native to those users, not a US-first experience exported abroad.

In-app payments and subscriptions.

In-app payments and subscriptions are the next monetization surface. With the rebuild done, the work shifts from holding the app together to extending it — the right scope of work for a product on a foundation that can take it.

AI-powered learner ↔ expert matching.

Marketplaces live or die on match quality. The clean codebase makes it practical to layer AI-powered learner-to-expert matching on top — using session history, topic embeddings, and outcomes signals to make the discovery experience feel curated, not catalog-shaped.

Inherited a fragile mobile app and need to expand?

Rebuild without losing the audience you have.

Streaver takes ownership of inherited mobile apps, makes the honest patch-vs.-rebuild call, and ships cross-platform without disrupting the users already on the live app. Clean codebase, clean handoff.

11Continue reading
DELOS AG
Featured
Live

DELOS AG

First paying enterprise customers in sixteen weeks

91% precision · 4-agent systemRead the case study
Supreme Golf
Featured
Live

Supreme Golf

Building a $1M product for $125K with a non-technical CEO at the keyboard

8× lower cost · 3–5 deploys/dayRead the case study