A lightweight, system tray-based currency converter for Windows. Built with Tauri, Rust, and Vanilla JavaScript, it offers real-time exchange rates, cross-rate calculations, and a distraction-free user interface that lives quietly in your system tray. This small app is suitable for the digital nomad and freelancer which live in their motherland but get paid with different currencies such as USD or EUR.
- π Key Features
- π± Supported Currencies
- π» Tech Stack
- π Getting Started
- π Project Structure
- π‘ Usage Examples
- π¨ Customization Options
- π License
- Lives quietly in your Windows system tray.
- Instant access with a single click or keyboard shortcut.
- Fetches the latest rates from the Frankfurter API.
- Automatic background updates (every 5 minutes) to ensure accuracy.
- Automatically calculates exchange rates between any two supported currencies.
- No need to convert to USD first; the app handles the math.
- Customize decimal precision (2, 3, or 4 decimal places) for accurate calculations.
- Auto-adjusts for currencies like JPY or KRW that typically don't use decimals.
- Built-in theme switcher to match your system or personal preference.
- Persists user preference across sessions.
- The converter window stays on top of other applications for quick reference during workflows.
Supports major global currencies including:
| Region | Currencies |
|---|---|
| Americas | USD, CAD, BRL, MXN |
| Europe | EUR, GBP, CHF, SEK, NOK, DKK, PLN, CZK, HUF, RON, ISK, TRY |
| Asia/Pacific | AUD, CNY, HKD, IDR, INR, JPY, KRW, MYR, NZD, PHP, SGD, THB |
| Africa/Middle East | ZAR, ILS |
| Core: |
|
| Frontend: |
|
Ensure you have the following installed:
- Node.js (v16 or later)
- Rust (Latest stable version via rustup)
- C++ Build Tools for Windows (via Visual Studio Installer)
-
Clone the repository:
git clone https://github.com/ObsCure9277/MiniCurrencyConverter.git cd MiniCurrencyConverter -
Install frontend dependencies:
npm install
-
Run in development mode:
npm run tauri dev
This will start the app with hot-reload enabled.
To create an optimized executable:
npm run tauri buildThe output binary will be located in src-tauri/target/release/.
MiniCurrencyConverter/
βββ src-tauri/ # Rust backend & Tauri configuration
β βββ src/
β β βββ main.rs # Application entry point
β β βββ lib.rs # Core commands & tray logic
β βββ Cargo.toml # Rust dependencies
β βββ tauri.conf.json # Tauri app configuration
βββ src/ # Frontend assets
β βββ index.html # Main UI Layout
β βββ main.js # App logic, conversion, & events
β βββ styles.css # Styling & themes
β βββ assets/ # Icons and images
βββ package.json # Node scripts & dependencies
βββ README.md # This file
- Click the tray icon to open the converter.
- Enter an amount (e.g.,
100). - Select your From currency (e.g.,
USD). - Select your To currency (e.g.,
EUR). - The result updates instantly as you type or change options.
- Locate the decimal dropdown in the top-right corner.
- Select
.00,.000, or.0000. - All future conversions will use this precision preference.
- Click the sun/moon icon in the top-right corner.
- The app will switch between Light and Dark modes.
- Your preference is saved automatically.
- Default Currency: Modify the
init()function to change the startup currencies. - Refresh Interval: Adjust the
refreshTimer(default: 5 minutes) ininit().
- Colors: Edit the
:rootvariables to change the color scheme. - Fonts: The app uses system fonts by default for performance and native feel.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by ObsCure9277