About

Dave Daydy

Founder — product engineering

Yorro is a product engineering studio in Abidjan and Paris. It designs, builds and ships web and mobile applications — and it holds the whole cycle rather than a slice of it: discovery, design, development, infrastructure, security, maintenance. That is what makes it possible to answer for a product that runs, rather than for a deliverable that passed review.

The path here

  1. ADR 0001

    Static first; a database when it earns its place

    This site is rendered at build time and deployed without a server. A multi-tenant CMS would have been more impressive to describe and slower to ship: infrastructure gets built when a need demands it, not when a roadmap mentions it.

  2. ADR 0002

    Bilingual verified, not declared

    French lives at the root, English under /en/, and the build fails if a structural page is missing in either language. The rule is not a sentence in a document: it is a check the deployment has to survive.

  3. ADR 0004 · 0005

    Agent-native in stages, not as a slogan

    Every behaviour on this site is a named Action, invoked identically by the UI and by the ⌘K palette — and tomorrow by an agent. Exactly one agent is live, with its budget ceilings: selling agent-native architecture obliges you to show one that holds.

  4. ADR 0007

    Infrastructure described in TypeScript

    Cloudflare resources are declared in code, not clicked in a dashboard. What isn't described gets lost at the first change of hands — and it is always the forgotten setting that fails.

How we work

01

Decisions before code

Every structural choice is written down in an ADR, with what it rejects and why. A repository without written decisions forces you to read the code to guess the intent, and guess it wrong.

02

Accessibility is a gate, not a polish pass

WCAG 2.2 AA is a shipping condition: contrasts computed rather than eyeballed, a visible focus ring everywhere, motion suppressed when the system asks for it. An audit at the end of a project arrives too late to change a structure.

03

What isn't measured isn't finished

Tests run against the built site, not the dev server. A silent failure — a class that emits nothing, a token wired to the wrong value — shows up no other way.

Legal notice

Yorro — product engineering studio, Abidjan and Paris. The full notice (legal form, registration, host) is published together with the contact form, which is the first surface to collect any data.

Privacy

This site sets no analytics cookie and embeds no third-party tracker. The only data kept in your browser are your theme and language choices, which never leave your device. No submission is stored: a message sent is relayed by email, then forgotten.

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