id-call: EUDI Verified Call as an app for iOS and Android
AI-generated, human-reviewed
Starting point
EUDI Verified Call works in the browser: two people identify themselves with an EUDI wallet and see which identity fields will be exchanged before connecting. But anyone who wants to identify themselves has their wallet on their phone — and there people expect an app, not a bookmark. So the service needs an iOS and Android edition, without that turning into a third and fourth codebase.
Solution
A Capacitor shell packaging the web client as a native app. Deliberately one repository for both platforms: ios/ and android/ are generated from the same configuration, and what is actually maintained — configuration, sync script, icons, store metadata — is shared. Two repositories would duplicate that and drift the first time someone forgets one of them.
The shell contains no application logic. Everything the user sees comes from the web client; the shell provides the native container, deep links and the store metadata. When something is wrong with the call itself, the fix belongs in the web repository — a boundary you draw once and that shortens every debugging session afterwards.
Two decisions that matter in daily use:
- Traceable store builds. For releases the web client is a git submodule pinned to a specific commit. When the App Store asks months later what exactly shipped, that answer exists — with a sibling checkout it does not.
- A secure context for camera and microphone. The web views run under the
httpsscheme, becausegetUserMediareleases nothing otherwise. A detail, and without it a video call simply never happens.
Outcome
The same verified call that exists in the browser, as an app on both platforms — from one maintained source, with a build that can prove what went into it.