Plan the trip. Keep the evidence.
A calm, local-first workspace for confirmations, research, readiness,
traveler-authored plans, and the details you need on travel day.
No account · No telemetry · No AI required
Choose your machine. The website resolves the current stable release into the matching installer and keeps the GitHub Releases page as a fallback.
| Route | Best for | What you get |
|---|---|---|
| macOS | Apple Silicon · macOS 13 or newer | Native .dmg desktop app |
| Windows | 64-bit Windows | Standard .exe; .msi also published |
| From source | Supported Linux or Intel Mac; contributors and auditors | Same React interface through the guarded local browser stack |
Important
The desktop installers are public beta builds without paid platform publisher identity; macOS is not notarized and Windows may show SmartScreen. Updater artifacts are signed by Voyalier, and releases publish SHA-256 checksums. The install guide explains the exact warning, optional checksum checks, and verified updater. The repository can be ahead of the latest published installer; the stable badge above is the source of truth for downloadable version.
- Readiness findings now open the exact local next step: the matching schedule context, a preselected Stay form, the pending review queue, Visa, or Prepare.
- Duplicate imports can open the existing stored document without fetching or expanding its sealed body.
- Review filters combine extraction warnings, fact type, and extraction method while every confirm, edit, and dismiss decision remains one at a time.
- Search and Settings detours unwind through in-app Back and browser history to the prior trip section and page heading; private queries and exact search-result record ids stay out of durable URLs.
- The 320 px Plan layout and Create Trip focus return are now exercised in both Chromium and WebKit.
Read the full changelog for tradeoffs and intentionally unchanged authority boundaries.
A trip usually arrives as scattered PDFs, email threads, research tabs, notes, and half-made decisions. Voyalier gives that pile one shape without pretending uncertain information is settled.
- Create a trip.
- Import a confirmation or add your own plan.
- Review every suggested detail against its source.
- Let deterministic rules find overlaps, gaps, and missing review.
- Add connected context only when you ask, then keep the useful result locally.
Voyalier does not book travel, monitor a trip in the background, guarantee a price or opening time, or issue authoritative visa, safety, or health decisions.
The useful parts work without a paid model or provider key.
See the complete capability map
| Area | Current source behavior |
|---|---|
| Trips | Create, edit, archive, restore, and delete trips; remember the active trip and section; build a deterministic Blueprint. |
| Confirmations | Import text, HTML, .eml, or local files; preserve parser runs, excerpts, field spans, and warnings. |
| Review | Filter locally by warning, fact type, or extraction method, then confirm, edit and confirm, dismiss, or undo one candidate at a time; nothing is promoted silently. |
| Itinerary | Order confirmed transport and stays; report literal overlaps, lodging gaps, handoff slack, and exposed connections without inventing predictions. |
| Readiness | Explain logistics gaps, open the local context that can address each finding, and link to official entry/health sources without making authority claims. |
| Visa preparation | Keep passport-specific preparation, dated official sources, a universal guide, traveler ticks, and sealed notes clearly separated from a visa decision. |
| Live context | Fetch official advice, destination weather, page snapshots, packs, maps, or a manual trip re-check only after an explicit action. There is no background monitoring. |
| Offline discovery | Rank licensed city-pack places with visible scores and reasons; save places with provenance and optional notes. |
| Traveler plans | Keep packing items, activities, rail legs, and transfers separate from imported confirmed facts while including safe projections in Today, calendar, and brief output. |
| Search and research | Search local source documents, confirmed facts, notes, saved places, plans, and saved reading with trip/source provenance; nested detours return to their exact entry. |
| AI assist | Guide local Ollama setup; validate BYOK cloud keys; preview the exact redacted payload; keep cloud help optional; keep trip chat on-device only. |
| Vault and sharing | Seal sensitive columns at rest; optionally passphrase-wrap the key; generate a brief whose model excludes traveler names and confirmation codes. |
| Language and access | Complete English and Spanish catalogs, keyboard flows, focus containment and return, reduced motion, contrast checks, 320 px reflow, and automated axe gates. |
The importer proposes. The traveler decides. A candidate keeps the excerpt that supports it so a correction is grounded in the document, not a confident guess. Local filters shorten a long queue without turning review into a bulk action.
A logistics finding can take you to the exact confirmed fact, traveler-authored plan, Stay form, or review queue it names. Entry and health remain link-only, traveler-confirmed work; navigation never turns them into cleared requirements.
Visa and entry preparation points to the official source, records when it was read, and says plainly what Voyalier has not verified. It organizes the work; it does not decide the case.
- Local is the default. Trips, evidence, confirmed facts, notes, packs, provider settings, and activity metadata live on your machine.
- Imports are untrusted. Suggested details remain candidates until you confirm or correct them.
- Connected features wait. Advice, weather, page fetches, packs, maps, a trip re-check, and AI do not refresh quietly.
- Remote AI is previewed. You see the exact redacted payload before an OpenAI or Anthropic request leaves the device.
- Sharing starts with exclusion. Traveler names and confirmation codes never enter the brief output model.
- There is no recovery theater. If you passphrase-lock the vault and forget the passphrase, Voyalier cannot recover it.
What can use the network?
| Connection | Explicit trigger | What leaves the device |
|---|---|---|
| GOV.UK FCDO | Fetch official advice | Selected country slug |
| Open-Meteo | Fetch weather | Destination for geocoding, then coordinates |
| Government processing-time source | Fetch published times | The route values needed by that authority’s public tool |
| GitHub Releases | Download a pack, update, or installer | Public asset request; no trip content |
| OpenFreeMap | Show map | Map viewport tile requests |
| A saved page | Fetch page details | Only the address you saved; the response is size-capped and reduced to readable text |
| Ollama | Run assist or send local chat | Redacted trip material to localhost; chat also includes the question and retrieved local context |
| OpenAI / Anthropic | Run assist after preview | Exactly the redacted payload shown in the consent step; the BYOK key is used only for authentication |
Official entry, health, and safety sources outrank commercial, editorial, community, and model content. AI can help explain a trip; it cannot clear one.
| Mode | Contract |
|---|---|
| Deterministic local rules | Parsing, validation, itinerary checks, readiness, search, ranking, Today, and brief redaction. Always the baseline. |
| Offline snapshots | Saved evidence, downloaded packs, and derived views. Old live information stays dated instead of aging into fact. |
| On-device AI | Optional Ollama on localhost. No cloud key and never required. |
| Cloud AI | BYOK OpenAI or Anthropic after an exact redacted-payload preview. Keys stay in the OS keychain. |
The browser source route is supported on compatible macOS and Linux development hosts.
Requirements: Bash, Make, Node.js 24+, pnpm 11+, and a current stable Rust
toolchain with rustfmt and clippy. Node.js 24 requires macOS 13.5 or newer;
the setup guide links to
the complete Node and Rust platform lists.
git clone https://github.com/udhawan97/Voyalier.git
cd Voyalier
make bootstrap
make devOpen http://127.0.0.1:5173. Vite proxies /api to the loopback-only Axum
service at http://127.0.0.1:8787. The desktop app uses the same React
interface through direct Tauri IPC and does not bind a TCP port in release mode.
Useful contributor commands
pnpm dev:web # React interface only
pnpm dev:docs # Astro/Starlight documentation
make check # formatting, types, lint, Rust, desktop, integration, and browser gates
pnpm test:e2e # Chromium journeys plus shared Chromium/WebKit regressionsUse make check as the repository gate. A bare cargo test skips the desktop
crate and is not equivalent.
| Layer | Owns |
|---|---|
crates/voyalier-core |
Domain types, deterministic rules, validation, parsing, readiness, ranking, search, Today, and redaction—no IO |
crates/voyalier-app |
AppService, SQLite, vault, backup/restore, network and keychain seams |
crates/voyalier-server |
Thin loopback-only Axum adapter |
apps/desktop/src-tauri |
Thin native Tauri adapter |
apps/web |
Shared React product interface over the versioned AppGateway |
docs-site |
Static product story and documentation; it does not host the local backend |
Read the architecture guide or the repository’s architecture decisions before changing contracts, transport, storage, or provider behavior.
Voyalier is a public beta. The current scope deliberately leaves out autonomous booking, payments, inbox monitoring, shared accounts, hosted sync, background trip monitoring, authoritative visa/safety/health decisions, and guaranteed prices, availability, or opening hours.
That is not missing brochure copy. It is the trust boundary.
- Product story
- Download and install
- Getting started
- Privacy and trust
- Troubleshooting
- Roadmap
- Changelog
- Contributing
- Security policy
Apache-2.0 licensed. Built in the open for trips that should remain yours.



