Skip to content
priya.dev
all projects
status: production

Journi

Agentic AI itinerary engine generating personalized trips in under 30s

View code
Next.jsNode.jsTypeScriptPostgreSQLPrismaStripeGrok APIRedisClerk

Overview

What this is

Journi is an AI trip planner built around an agentic itinerary engine that autonomously generates personalized, editable day-to-day travel plans.

Problem

Why it needed building

A genuinely useful itinerary means pulling live data from several unrelated services — flights and hotels, weather, maps — and reasoning over all of it together, not just calling one API and templating the response.

Solution

How it works

Built an agentic engine on top of Grok's API using tool-use and function calling, orchestrating real-time calls across 3+ third-party services to assemble a full itinerary in under 30 seconds. A Redis-backed job queue handles the 10-30 second generation time asynchronously, so it never blocks the request cycle.

Architecture

How it's put together

  • →Agentic itinerary engine built on Grok's API using tool-use / function calling to orchestrate flights/hotels, weather, and maps data
  • →Redis-backed job queue decoupling 10-30 second AI generation tasks from the request-response cycle
  • →Stripe subscription billing with a 2-tier (free/paid) pricing model
  • →Usage limits enforced at the API layer via Clerk-authenticated sessions

Challenges

The hard part

Coordinating multiple third-party API calls inside a single agentic reasoning loop, without the whole generation stalling if one service — say, weather — is slow to respond.

Trade-offs

What I gave up on purpose

Offloading generation to a job queue means the frontend has to poll or subscribe for a result instead of getting an instant response — a deliberate trade of raw request latency for not blocking the server on a 30-second AI call.

Performance

What changed, measurably

Generates personalized, editable itineraries in under 30 seconds, with 5+ full trips generated to date.

Next

What I'd build next

Add real-time collaborative editing so a group can adjust a shared itinerary together instead of each person holding their own editable copy.