Bottega Mobile Get in touch

How it works

One Capacitor app for all four suite products on iOS and Android. The full technical description of Bottega Mobile — what it does, what it is made of, and what state it is in.

The premise

A single mobile application that presents Andare, Soldi, Ciclo and Trama on iOS and Android. It takes its components from the same shared platform package as the web apps, so the mobile app and the four web apps stay on one design system and one set of tokens.

The shell — product switcher, tab bar, safe areas — holds no product logic. Any component that knows what an issue or an invoice is lives in the product workspace, not the frame.

What is included

Capacitor + React, with native iOS and Android projects

Product switcher and tab bar shell with no product-specific logic

Shares @dwmm/platform components so mobile never forks the design system

How it is built

Bottega Mobile is built on Capacitor, React, TypeScript, Swift and Kotlin.

The repository is 99% TypeScript by volume — a description of what the work actually consists of rather than what it is filed under.

It carries 57 commits since Aug 2026, most recently changed in Sep 2026.

The method behind it

Every project here starts as a written specification, and the specification stays authoritative once code exists. The repository keeps a build plan with live status, an append-only decision log recording where the implementation departed from the plan, and a handoff document describing the true current state — including the parts that are not finished.

That is why a portfolio this wide is not a shallow one, and it is why this page can describe the product without overstating it.

Current state

In development. Under active work right now.

The source is private. What this page claims is checkable against the product itself, not the repository.

Next

Bring Bottega Mobile into your company

Ask about onboarding an organisation, migrating existing records, or a demonstration.

This is a pre-production site. All content is subject to finalisation, and nothing stated here is binding until the site is live.