Skip to content

Repository files navigation

ConvertHub

The offline converter for travellers.

Try it now →

Latest release CI Last commit Conventional Commits License: MIT

ConvertHub is the travel companion that pays the right tip, tells you what 5,000 yen actually costs you in euros, and figures out whether you fit a size 8 in Italy — without burning your data roaming. Install it on your phone or laptop and it just works on the plane, in the metro, anywhere. No account. No ads. No tracking.

What you can do

  • Currencies. All 160+, with the last rates cached so you don't need signal at the restaurant.
  • Tip calculator. Type the bill in the local currency, see tip and total in both currencies. Defaults adjust per country — USA 18%, Japan 0%, Spain 10%. Split between any number of people, round up the total if you want.
  • Distance, weight, volume, temperature, speed. The everyday conversions you actually need abroad.
  • Clothing & shoe sizes. EU / US / UK for men, women and kids — the part of travel nobody tells you about until you're in the fitting room.
  • Travel notes. Jot down "the café near Plaza Mayor" with a location attached.
  • Favorites & history. Pin the conversions you do most often, replay the last 20.
  • Three languages. English, Spanish, Basque.

How to start

  1. Open the live demo on your phone or computer.
  2. Install it (see below) so it works offline next time.
  3. Convert. The currency tab benefits from internet for fresh rates; every other tab runs offline.

Install on your device

Open the demo in Chrome, Edge or Safari and use "Add to Home Screen" (mobile) or "Install" (desktop). Behaves like a native app, takes about 100 KB, and works offline by design.

Privacy

There is no ConvertHub server. Your favorites, history and notes live in your own browser. The only network traffic is fetching currency rates — and even that uses whatever rates you last loaded if you're offline. No account, no ads, no tracking, ever.


For developers

Open-source, MIT licensed. PRs welcome.

Stack — TypeScript (strict), vanilla DOM with no framework runtime, Vite, Vitest, Playwright, ESLint + Prettier, release-please for automatic versioning from Conventional Commits.

Architecture — Hexagonal (Ports & Adapters) with bounded contexts under src/contexts/ and a thin DI container at src/apps/web/di/. The dependency rule (domain ← application ← infrastructure) is enforced via no-restricted-imports.

Local dev

npm install
npm run dev             # dev server
npm test                # unit + integration (vitest)
npm run e2e             # end-to-end (playwright)
npm run build           # production build with service worker

Requires Node ≥ 20, npm ≥ 9. CI runs lint, typecheck, tests and the production build on every PR.

About

Offline-first PWA for travellers: currencies, units, clothing/shoe sizes and tip calculator. TypeScript strict, Hexagonal + DDD, multi-language (EN/ES/EU).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages