The problem
You see a price tag and need to answer one question: is this cheap or expensive? When you think in euros and the price is in dong, baht, or lira, the answer is not instant.
Doing the mental calculation interrupts the moment. I wanted a tool that gives travelers the answer immediately, even when their connection is unreliable.
The product
Koin is built around one idea: your home currency is the one you think in. Set it once, enter a local price, and see what that amount means to you.
Features
- Instant conversion as you type — no submit button, no delay
- 141 currencies — every major and regional currency worldwide
- Offline-first — rates are cached locally for up to 24 hours
- Favorites — pin the currencies you use most for one-tap access
- One-tap swap — reverse home and travel currencies instantly
- Locale-aware formatting — comma or period decimal separator, your choice
- Haptic feedback — tactile confirmation on every keypress
- No account required — open the app, convert, done
Architecture
Koin is a full-stack mobile product. The app and API live in a Bun monorepo with shared packages, so the data model and tooling stay consistent across the system.
- React Native & Expo — cross-platform iOS and Android from a single codebase
- Expo Router — file-based navigation, clean and predictable
- React Query & MMKV — intelligent rate caching with fast native storage
- React Native Unistyles — theme-aware styling with dark mode support
- React Native Reanimated — smooth, hardware-accelerated animations
- Bun — lightweight backend API serving exchange rates with Redis caching
- EAS Build & Submit — automated builds and store submissions via Expo’s CI
The API proxies ExchangeRate-API and caches rates in Redis. The app stores recent rates on the device, which keeps conversions available offline and reduces unnecessary network requests.
From idea to App Store
I started Koin in early 2026 as a tool for my own travels. I designed, built, signed, and shipped the complete product independently, and it is now available on the App Store.