vApp Mobile Wallet
Unified mobile experience for crypto wallet users and vNode operators
The Problem
Vitreus needed a mobile app serving two very different user mental models: crypto wallet users (send/receive tokens) and vNode operators (manage IoT hardware). These are fundamentally different audiences with different needs in a single app.
The Process
Original design was immersive-a video game HUD with dynamic visual feedback correlated to VNRG mechanics, a quickswap button to 'play' with energy conversion, customizable UI elements. Budget constraints simplified the vision. Dev team proposed two separate apps; I kept it unified as designed, adding complexity but delivering a cohesive experience.
The Outcome
Shipped to iOS and Android. 1 major + 10+ minor updates post-launch. Successfully serves both wallet users and node operators. The plug-and-play vNode flow required extensive remote troubleshooting with the dev team.
Design Decisions
| Decision | Why | Engineering Tradeoff |
|---|---|---|
| Unified app vs. two apps | Reduces maintenance burden, shared auth | More complex state management |
| Tab-based navigation | Clear mental model separation | Requires conditional rendering |
| Offline-first for vNode status | Users in areas with poor connectivity | Local caching complexity |
STAR Summary
| Situation | Vitreus needed a mobile app for two very different user types: crypto wallet users (send/receive tokens) and vNode operators (manage IoT hardware). Different mental models, different tasks, different technical sophistication-in a single app. |
| Task | As Product Owner, deliver a unified mobile experience. Dev team proposed two separate apps; I needed to justify and execute a single-app strategy that served both personas without confusion. |
| Action | Designed tab-based architecture separating wallet and node functions while sharing auth and common infrastructure. Built offline-first patterns for field operators with poor connectivity. Ran weekly design reviews with engineering; caught critical state management issues early. Coordinated extensive remote troubleshooting for plug-and-play vNode flow. |
| Result | Shipped to iOS and Android. 1 major + 10+ minor updates since launch. Successfully serves both user types. Unified approach reduced maintenance burden and accelerated feature development through shared components. |
The Architecture Decision
| Option | Dev Team’s Proposal | My Decision |
|---|---|---|
| Apps | Two separate apps | One unified app |
| Maintenance | Double the work | Single codebase |
| Auth | Separate systems | Shared authentication |
| Tradeoff | Simpler state | Complex state management |
Worth it. Conditional rendering based on user type needed careful architecture, but maintenance savings justified upfront complexity.
What Got Cut
| Original Vision | What Shipped |
|---|---|
| Video game HUD | Clean, functional UI |
| Dynamic VNRG feedback | Static status displays |
| Quickswap “play” button | Standard transaction flow |
| Customizable UI | Fixed layouts |
| Real-time animations | Performance-optimized static |
Lesson: Sometimes constraints reveal what’s essential. Budget forced simplification; users got clarity.
Engineering Partnership
| Practice | Implementation |
|---|---|
| Weekly reviews | Before handoff-caught state management issues early |
| Living documentation | Updated specs as implementation revealed complexity |
| Offline-first | Cache locally, queue operations, graceful degradation |
Gallery
Token balances and portfolio overview for crypto wallet users