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
- 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.
- Recurring Token Costs: Cloud API subscriptions create unpredictable, recurring overhead that eats into an independent travel advisor's margins.
- 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.
- 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, orllama3.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
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
Visit http://localhost:4321 to explore the workstation.
Code
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 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
- π Absolute Client Confidentiality: VIP schedules, passport names, and travel dates never leave the advisor's laptop. 100% GDPR, CCPA, and NDA compliant.
- π° Zero Recurring Cloud API Costs: Run hundreds of multi-day itineraries for $0.00 inβ¦
- GitHub Repository: https://github.com/Krish-Mishra/hacktoberFest-Week2
- License: MIT
- Tech Stack: Astro 5 (SSR via Node Adapter), HTMX (offline vendor), Tailwind CSS, better-sqlite3 (WAL mode), Marked, Ollama REST API.
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) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
-
Astro 5 Server-Side Rendering: Powered by
@astrojs/nodeinstandalonemode to handle secure local file operations, database queries, and server endpoints. -
HTMX & Server-Sent Events (SSE): Instead of bloated client-side SPA frameworks, we used HTMX (
htmx.min.jsandsse.js) bundled locally inpublic/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. -
Local SQLite with better-sqlite3: Implements WAL mode (
journal_mode = WAL) for instant reads and writes todata/localjourney.db, maintaining ACID compliance with zero configuration. -
Ollama Connector & Resilient Engine: The backend sends structured prompts directly to
http://localhost:11434/api/generatewithstream: true. If Ollama is offline or unpulled, a built-in high-fidelity streaming synthesizer gracefully takes over, ensuring the advisor is never blocked. -
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:
- 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.
- 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.
- 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.
- 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.
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)