Trips, dates, timezones, notes, tags, booking status, favorites, archives, comments, and printable itineraries are treated as part of one living plan.
Your trip has a command center.
Roamarr brings flights, stays, documents, companions, reminders, expenses, sharing, and the messy middle of travel into one self-hosted itinerary hub backed by SQLite.
The calm layer between confirmation chaos and the trip itself.
Travel planning does not live in one place by default. Roamarr turns the scattered pieces into a practical trip workspace designed for repeated, private use.
Track rideshares, parking, directions, points of interest, food plans, todos, events, trains, boats, rental cars, and free-form notes.
Coordinate attendees, polls, packing templates, kid gear, accessibility notes, dietary details, room preferences, and emergency sharing.
Clear about what Roamarr is, and what it is not claiming.
Roamarr is broad and practical, but it is not pretending to be a hosted travel network, inbox parser, or automatic booking-sync service.
Store trip data you enter or import. The app does not claim airline account sync, hotel portal sync, inbox scanning, OCR, or AI itinerary extraction.
Fare provider accounts, watch records, scheduler hooks, and notifications exist. The built-in provider is a demo stub; live fare data depends on adding real providers.
Settings can download and restore the SQLite database. Receipt files live beside it in an attachments directory, so include that folder in volume snapshots.
Click the moving parts. Watch the hub recalibrate.
Each module is a different travel lane connected by the same local database. Select a card to preview how Roamarr frames that part of the trip.

Printable itineraries that remember every detail.
Plan the trip as a sequence of itinerary segments with booking status, notes, tags, favorites, archives, comments, timezones, and export-ready structure.
Keep the heart of the app portable, scriptable, and easy to snapshot.
Fast server-rendered pages with an app experience designed for repeated use.
A practical database layer for schema-driven application data.
Private by default, shareable on purpose.
Roamarr is built around the idea that itinerary sharing should be explicit, scoped, and revocable while sensitive travel data stays protected at rest.
Hosted where you decide.
The SQLite database can live on persistent storage that fits your setup. Built-in backup downloads cover the database; receipt attachments live beside it so volume snapshots can include both.
A dashboard for the unglamorous details that actually matter.
Use the switches below to restage the demo dashboard. The cards update instantly, just like a travel operations board for your household or group.
Pack the practical things.
Room preference confirmed, medication reminders scheduled, emergency itinerary link expires after the trip, and kid gear is assigned by person.
Before 3
During 3
After 2
Clone.
Install.
Run Roamarr.
The design intentionally keeps the launch path visible: source-first setup, environment configuration, and a production build that listens on your chosen port.
# clone when the repo opens
git clone https://github.com/visorcraft/Roamarr.git
cd Roamarr
npm ci
cp .env.example .env
openssl rand -base64 32
# paste ROAMARR_SECRET, then boot
npm run dev
open http://localhost:5173/setup
Source-first runtime, local-data confidence.
Roamarr is a SvelteKit app shell powered by Node, SQLite, Drizzle, and a guarded scheduler for reminders, fare-watch job hooks, expired sessions, and run pruning.