DEV Community

Krish Mishra
Krish Mishra

Posted on

LocalJourney AI: Private, Local-First AI Trip Planner for Boutique Travel Agencies

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission πŸ’Έ

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

LocalJourney AI is a complete, local-first B2B web application engineered specifically for luxury travel advisors, independent concierges, and boutique travel agencies.

Who Would Pay For It?

Independent luxury travel designers, Virtuoso-affiliated travel consultants, and boutique travel agencies who craft custom $10,000 to $50,000+ vacations for private clients.

The Problem It Solves

  1. Client Privacy & Legal Exposure: Luxury travelers (executives, public figures, private families) strictly forbid their itineraries, vacation dates, hotel suites, and dietary requirements from being uploaded to public cloud servers. Commercial AI tools (OpenAI, Claude) route sensitive client details through third-party APIs.
  2. Recurring Token Costs: Cloud API subscriptions create unpredictable, recurring overhead that eats into an independent travel advisor's margins.
  3. Generic Tourist Recommendations: Commercial AI models default to generic tourist traps (e.g., "visit the Eiffel Tower at noon") rather than the curated, insider experiences that high-net-worth travelers expect.
  4. Lack of In-Flight Mobility: Travel agents spend hours on long-haul flights or in remote destinations with spotty or nonexistent WiFi where cloud-tethered apps fail completely.

The Solution

LocalJourney AI runs 100% locally on the agent's laptop:

  • Confidential Client Registry: Profiles, VIP tiers, and past trip dossiers are stored on-device in a local SQLite database.
  • Boutique Concierge Intelligence: Connects to a local Ollama instance (llama3, mistral, or llama3.2) with custom system prompts that prioritize private access, curated sommelier tastings, and boutique heritage hotels over mass tourism.
  • Real-Time Token Streaming: Agents watch itineraries formulate live on their screen via HTMX and Server-Sent Events (SSE).
  • Client Presentation & Print Mode: One-click print-to-PDF styling designed for client proposals.

Demo

LocalJourney AI Interface

Key Features in Action

  • Executive Dashboard (/): Displays real-time metrics (Bespoke Plans, VIP Clients, 100% Privacy Score, $0.00 Cloud Cost) alongside past trip dossiers with search/filter capabilities.
  • Client Intake Studio (/new): Includes luxury presets (Amalfi Coast, Kyoto Zen, Swiss Alps), calendar date duration calculations, pacing selectors (Relaxed, Balanced, Intensive), and multi-select tags for bespoke interests (e.g., Michelin dining, private yacht charters, grand cru vineyards).
  • Real-Time Streaming Engine: Streams tokens directly from local open weights into formatted Markdown with a live token/word counter and typing cursor.
  • Client Presentation Dossier (/itinerary/[id]): Editorial layout with one-click Print / Export PDF (featuring dedicated print stylesheets), clipboard copy, and status toggles (Draft ↔ Finalized).

Running Locally

git clone https://github.com/Krish-Mishra/hacktoberFest-Week2.git
cd hacktoberFest-Week2
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

Visit http://localhost:4321 to explore the workstation.


Code

GitHub logo Krish-Mishra / hacktoberFest-Week2

Creating a side hustle app which integrates OLlama

LocalJourney AI 🧭✨

Private, Local-First AI Trip Planner for Boutique Travel Agencies

LocalJourney AI Preview

LocalJourney AI is a complete, local-first B2B web application engineered specifically for luxury travel advisors, boutique concierges, and bespoke travel designers.

Traditional AI travel tools route high-net-worth traveler names, private flight numbers, vacation dates, and confidential dietary preferences through centralized commercial APIs (e.g. OpenAI, Anthropic), creating privacy liabilities and recurring per-token subscription costs. LocalJourney AI runs 100% locally on the agent's laptop: client profiles and itineraries are stored in a local SQLite database, and itineraries are generated via a local Ollama instance running open-weight models (llama3, mistral, llama3.2).


⚑ Core Value Proposition for Travel Agencies

  1. πŸ”’ Absolute Client Confidentiality: VIP schedules, passport names, and travel dates never leave the advisor's laptop. 100% GDPR, CCPA, and NDA compliant.
  2. πŸ’° Zero Recurring Cloud API Costs: Run hundreds of multi-day itineraries for $0.00 in…

How I Built It

LocalJourney AI was built around an offline, local-first stack designed for speed, zero external dependencies, and client data security:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   LocalJourney AI                      β”‚
β”‚                                                        β”‚
β”‚  [ Astro 5 SSR ] ──── [ HTMX + SSE ] ─── [ Tailwind ]  β”‚
β”‚         β”‚                     β”‚                        β”‚
β”‚         β–Ό                     β–Ό                        β”‚
β”‚  [ SQLite (WAL) ]     [ Local Ollama Engine ]          β”‚
β”‚  data/localjourney.db   http://localhost:11434         β”‚
β”‚  (100% On-Device)     (llama3 / mistral / llama3.2)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Enter fullscreen mode Exit fullscreen mode
  1. Astro 5 Server-Side Rendering: Powered by @astrojs/node in standalone mode to handle secure local file operations, database queries, and server endpoints.
  2. HTMX & Server-Sent Events (SSE): Instead of bloated client-side SPA frameworks, we used HTMX (htmx.min.js and sse.js) bundled locally in public/vendor/. When a travel brief is submitted, the frontend establishes an SSE stream with /api/generate-sse, allowing the agent to watch the model write in real-time with zero UI lag.
  3. Local SQLite with better-sqlite3: Implements WAL mode (journal_mode = WAL) for instant reads and writes to data/localjourney.db, maintaining ACID compliance with zero configuration.
  4. Ollama Connector & Resilient Engine: The backend sends structured prompts directly to http://localhost:11434/api/generate with stream: true. If Ollama is offline or unpulled, a built-in high-fidelity streaming synthesizer gracefully takes over, ensuring the advisor is never blocked.
  5. Luxury Design System: Built with Tailwind CSS and @tailwindcss/typography, using a deep obsidian palette (#070b12), champagne gold accents (#f59e0b), and print media queries (@media print) that strip away navigation and buttons when exporting to PDF.

Why Does Open Innovation Matter?

Open innovation is not just a nice-to-have for this projectβ€”it is the core reason the business model works:

  1. Privacy as a Competitive Moat: You cannot sell an AI concierge to a boutique agency handling VIP clients if their schedules and names are piped to external third-party cloud servers. Open-weight models running on Ollama allow us to offer an ironclad guarantee: zero bytes of client data ever leave your laptop.
  2. 100% Software Margin: Commercial LLMs charge per token, turning trip planning into an ongoing operational expense. With open-weight models like Llama 3, the marginal cost of generating an itinerary is exactly $0.00. This enables a flat-fee subscription ($49/month) or a lifetime license ($299) where nearly 100% of revenue is profit.
  3. Zero Vendor Lock-In & Model Portability: If a new, superior open-weight model drops tomorrow (e.g., Mistral NeMo, Gemma 2, Llama 3.2), the advisor can switch models with a single click in the UI without waiting for an API provider or accepting price hikes.
  4. True Offline Independence: Open-source AI liberates the software from the cloud umbilical cord. Travel advisors often work in flight or in remote areasβ€”open models let them generate and edit itineraries anywhere on earth.

My Agent Session

This entire applicationβ€”from architecture design and SQLite database schema to Astro SSR endpoints, HTMX streaming integration, and GitHub deploymentβ€”was built with an agentic pair programmer.

Building LocalJourney AI: Local-First Concierge Trip Planner with Astro, SQLite, HTMX & Ollama
You

Build a complete, local-first B2B web application called "LocalJourney AI", an AI-powered personalized trip planner designed specifically for boutique travel agencies. This app must run entirely locally so client data never leaves the user's laptop, ensuring strict privacy for travelers while avoiding vendor lock-in and recurring cloud API costs. Tech Stack: Astro, HTMX, Tailwind CSS, SQLite, and Ollama.

Agent

Designed and implemented LocalJourney AI with local SQLite database (WAL mode), Astro 5 SSR server routes, HTMX Server-Sent Events (SSE) streaming for real-time itinerary generation, luxury concierge prompt engineering, and local Ollama model integration.

You

have you pushed all the changes too?

Agent

Committed and pushed all 25 project files, database schema, and documentation to GitHub main branch.

Session Transcript: View Interactive DevRelay Session on DEV


My First User

To validate the concept, I demoed LocalJourney AI to a boutique European travel consultant:

  • What they tested: Generating a 5-day custom Amalfi Coast & Capri retreat for an Ultra-VIP couple with pescatarian dietary preferences and a private boat charter request.
  • Their reaction: "Normally, organizing a detailed day-by-day itinerary with exact morning/afternoon flow and local insider dining takes me 3 to 4 hours of drafting. Seeing the local model output specific villa recommendations, cliffside path shortcuts, and a realistic budget breakdown in under 10 seconds was unbelievable."
  • Their favorite feature: The Pacing Selector (Relaxed vs. Intensive) and the fact that all guest records remain strictly local on their MacBook with zero cloud subscriptions.
  • Willingness to pay: They confirmed they would gladly pay $49/month to use LocalJourney AI as their primary itinerary generation studio.

Prize Categories

  • Hacktoberfest Open-Source AI Challenge: Week 2 ("Side Hustle") β€” Overall Winner Category

Top comments (0)