Demo prototype — self-custodial Bitcoin spending layer. Hold BTC and USDT. Spend anywhere Visa is accepted.
Latch is a concept wallet UI exploring what a Bitcoin-native spending layer could look like as a consumer product. Full UI prototype with no live wallet SDK or API wiring — all balances and transactions are mocked.
Built to spec as a design portfolio piece. Every screen was designed, built, and shipped by Lemonhaze.
| Route | Screen |
|---|---|
/(tabs)/home |
Balance hero · asset rows · Send / Receive |
/(tabs)/card |
Visa card reveal · card details · Apple Wallet |
/(tabs)/activity |
Transaction feed · expandable drawer |
/(tabs)/settings |
Account settings |
/send |
Send flow · BTC/USDT toggle · numpad · confirmation |
/receive |
QR code · address copy |
- React Native + Expo Router v6 (file-based routing)
- TypeScript
- NativeWind (Tailwind for React Native)
- expo-linear-gradient — SEND button + comet ring badge
- Animated API — comet ring rotation, press states
- Syne + Syne Mono — primary type stack
- Safe Area Context — floating pill nav
Animated comet ring around the app logo. Asymmetric single-bright-spot orbit — mostly dark with one teal/white streak. Technique: 2× oversized LinearGradient square rotated via Animated.timing, clipped by overflow: hidden on the outer wrapper.
components/GoldRingBadge.tsx
Custom SVG mark — squircle background, hook arc, security dot.
components/LatchLogo.tsx
Composable header system used across all tab screens.
npm install
npx expo startScan the QR code with Expo Go or run on iOS/Android simulator.
See DESIGN.md for the full visual language spec — palette, typography, corner radius approach, motion principles.
Frédérick St-Louis — Lemonhaze lemonhaze.com · github.com/byLemonhaze
Prototype v0.1 · 2026 · No live funds, no real transactions.
