All servicesBuild

Mobile development

An iOS and Android app from a single codebase, published on both stores.

Deliverable
An app published on the App Store and Play Store, with its release pipeline automated.
Typical duration
8 to 14 weeks
From
€15,000 per project

The problem

A mobile app is not a website in a frame. It has its own gestures, its own network constraints, and one extra judge: store review.

We build on a shared iOS and Android base, with native code where it earns its place, and circulate test builds from the first weeks — useful feedback arrives before the end, not after.

What is included

  • A React Native app for iOS and Android from a shared codebase
  • Automated delivery to both stores, with no manual step left to be forgotten
  • Notifications, offline mode and secure storage as the product requires
  • Testing on real devices, not only simulators
  • Release support, including review rejections

How it works

  1. 01

    Scope the native

    What genuinely needs native code is settled early: camera, biometrics, background work.

  2. 02

    Build

    A shared base, with native code only where it earns its place.

  3. 03

    Ship early

    Test builds circulate from the first weeks. Feedback arrives before the end, not after.

  4. 04

    Publish

    We handle developer accounts, store metadata and review rejections.

Frequently asked

Why React Native rather than native?

Because one team and one codebase cost less than two, and the performance gap no longer shows on the vast majority of apps. Where it does show, we write native code at that exact point.

Do you handle store submission?

Yes, rejections included. A first Apple review rarely passes on the first try, and that is already in the schedule.

Can we share code with the web?

Business logic, yes, and it usually pays off. The interface, no: an app that looks like a website on a phone gets deleted.

Other services

Act

Dark themePin the site's appearancesetTheme({theme:"dark"})
Light themePin the site's appearancesetTheme({theme:"light"})
System themeFollow the system preference againsetTheme({theme:"system"})
Switch the site to FrenchFrançaissetLocale({locale:"fr"})
Labs — ProductFilter Labs by typefilterLabs({type:"Produit"})
Labs — PrototypeFilter Labs by typefilterLabs({type:"Prototype"})
Labs — ResearchFilter Labs by typefilterLabs({type:"Recherche"})
Labs — Reset filtersClear every Labs filterfilterLabs({reset:true})
Journal — EngineeringFilter the Journal by categoryfilterJournal({category:"Ingénierie"})
Journal — SecurityFilter the Journal by categoryfilterJournal({category:"Sécurité"})
Journal — Agent-NativeFilter the Journal by categoryfilterJournal({category:"Agent-Native"})
Journal — StudioFilter the Journal by categoryfilterJournal({category:"Studio"})
Journal — Reset filtersClear every Journal filterfilterJournal({reset:true})
Tutorials — BeginnerFilter tutorials by levelfilterTutorials({level:"Débutant"})
Tutorials — IntermediateFilter tutorials by levelfilterTutorials({level:"Intermédiaire"})
Tutorials — AdvancedFilter tutorials by levelfilterTutorials({level:"Avancé"})
Tutorials — Reset filtersClear every tutorials filterfilterTutorials({reset:true})

Services

DiscoveryFrame the product before the first line of code, so the budget builds instead of correcting.openService({service:"discovery"})
Product designAn interface that holds together, carried by a design system your developers can keep alive without us.openService({service:"design"})
Web developmentA fast web application that holds up over time, with the tests and delivery chain to match.openService({service:"web"})
Mobile developmentAn iOS and Android app from a single codebase, published on both stores.openService({service:"mobile"})
Infrastructure & securityInfrastructure described as code, and Zero Trust access that does not rest on a text message.openService({service:"infrastructure"})
Maintenance & evolutionA product kept current, watched and fixed, with someone who answers when it breaks.openService({service:"maintenance"})
Agent-Native Architecture AdvisoryMake an existing product agent-operable without rewriting it — and without opening more than it should.openService({service:"agent-native"})

Go to

YorroProduct engineering studio in Abidjan and Paris. We design, we build, we ship.navigate({page:"home"})
ServicesBuild a product end to end, or advise a team on its agent-native architecture.navigate({page:"services"})
LabsWhat the studio has built: products, prototypes and research, with where each one actually stands.navigate({page:"labs"})
TutorialsStep-by-step guides drawn from real projects, grouped into tracks by topic.navigate({page:"tutorials"})
JournalThe studio's notes and positions.navigate({page:"journal"})
ContactDescribe your project; you get a framing back, not a boilerplate quote.navigate({page:"contact"})
AboutWho runs the studio, how it works, and what it turns down.navigate({page:"about"})
↑↓ move↵ runesc closeOne Actions layer