The Mission
You see a price tag. Your brain needs to answer one question: is this cheap, or is this expensive? But if you’re thinking in euros and the tag says dong, baht, or lira — that answer isn’t instant. You do the mental math, lose the thread, and the moment is gone.
Koin is built around one idea: your home currency is the one you think in. Set it once, and every conversion from that point on happens in your frame of reference. No menus to dig through, no exchange rate lookup — just type an amount and know immediately what it means to you.
Key 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
Tech Stack
Koin is a full-stack mobile product, from the React Native app to the custom backend:
- 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
Architecture
The app lives in a Bun monorepo alongside the API and shared packages. The backend runs at koin.awinter.dev and proxies exchange rates from ExchangeRate-API with a Redis cache layer — keeping requests fast and rate limits in check. The mobile app fetches rates per base currency and persists them locally so users always have a result, even without a connection.
The Journey
Started in early 2026 as a personal tool for my own travels. What began as a quick side project grew into a fully published iOS app — built, signed, and shipped entirely solo.