Skip to content

Voyalier v0.4.0 — Public beta polish

Choose a tag to compare

@udhawan97 udhawan97 released this 12 Jul 13:15

Voyalier v0.4.0 — Public beta polish

Voyalier is a calm, local-first trip workspace: your trips, documents, and keys
stay on your device, imports are reviewed rather than believed, and AI is
optional and previewed before anything leaves the machine.

v0.4.0 is a source-only public beta. It builds and runs from source today;
signed, notarized installers are still blocked on paid certificates (the free
in-app updater's own minisign signing is separate and already in place).

Run it

git clone https://github.com/udhawan97/Voyalier.git
cd Voyalier
make bootstrap
make dev

Open http://127.0.0.1:5173. Requires Node.js 24+, pnpm 11+, and a current
stable Rust toolchain.

What's new since the 0.3.0 base

Setup that helps

  • Assistive trip setup — origin/destination are an accessible combobox that
    suggests places from your history and the pack catalog (offline, no per-keystroke
    geocoding), and setup surfaces packs recommended for your destination.
  • Guided on-device AI setup — a step-by-step install → start → get-a-model
    wizard when no Ollama runtime is found, with in-app model downloads once it's
    running.
  • Validated cloud keys — BYOK OpenAI/Anthropic keys get a Validate & save
    check and a "How to get a key" helper. Keys never leave the OS keychain.
  • Editable AI instructions — view and override the system instructions used
    for assist and for the on-device lodging-date draft, each with a reset. The date
    draft stays locked to dates; replies stay marked non-authoritative.

Everyday flow

  • Edit and unarchive trips, with an archive show/hide toggle.
  • Relaxed, typeahead in-trip search — any word matches (partial too), matching
    terms become autofill chips, and results copy to reuse.
  • On-device lodging-date drafts — "Fill gaps with on-device AI" proposes
    missing lodging dates from your own imported text; every one is a draft you review.
  • Import from a file — drop or pick a .eml/.html/.txt file, read on-device
    (no upload), format inferred from the extension. Pasting still works.

Look and feel

  • A real type identity — the app finally loads its named typefaces (Zen Kaku
    Gothic New, Shippori Mincho), self-hosted as small Latin WOFF2 subsets with no
    web-font CDN request
    . The documentation site does the same.
  • Subtle, token-driven motion and a faint paper texture (all under the existing
    reduced-motion setting), unified icon + heading treatment across sections, and a
    plain-language copy pass throughout.

Correctness & safety

  • Data-loss fix: returning a manual fact from the Blueprint used to delete it
    silently — it's now an explicit, confirmed "Remove."
  • Confirm-guards on the destructive, no-undo actions (dismiss a candidate,
    remove a manual fact / a pack / a stored key).
  • Trip search no longer resurrects results after you clear the box; the delete
    confirmation is localization-safe; the map explains WebGL/load failures instead
    of showing a blank frame; a WCAG-AA contrast fix for small meta text; plus a
    dozen smaller robustness fixes.

See the CHANGELOG for the complete list.

Your data

Trips, imported documents, downloaded packs, and your encryption key live in the
OS data directory — nothing is uploaded, and connected features (advice, weather,
packs, maps, cloud AI, update checks) each wait for an explicit click.