The problem that led to this: I'd ask an AI to find flights London → Tokyo in April under £800, get good results, then ask "what if I fly a week later?" — and it would lose everything. Dates, budget, origin, all of it. Back to re-entering the whole query.
That's not a prompt engineering problem. It's a stateless architecture problem. Every follow-up reconstructs context from scratch.
JetSet AI runs each session on a persistent VM via SuperNinja rather than a stateless serverless function. The full runtime state stays in memory — "show me the cheapest of those on a Tuesday" or "what if I fly into Osaka instead?" resolves to exactly the results from 3 turns ago, not a semantic approximation.
What it does: — Real-time flight pricing (live API, not cached) — Natural language queries ("something direct, not too early, under £600, flexible by a few days") — Full conversation memory within a session — Direct booking deep-links to Skyscanner/Kayak with your search pre-filled
What it doesn't do yet: — Cross-session memory (each conversation starts fresh) — Hotel/car search — Automatic booking (links out to booking platforms)
Try it (free, no login): https://bit.ly/4besn7l
The trade-off: persistent VMs cost more per session than serverless. For single-turn lookups it wouldn't be worth it. For multi-turn transactional flows where follow-up accuracy matters, it is.
Curious whether anyone else has hit this problem building conversational agents — and whether persistent VMs vs stateless + RAG is the right trade-off for your use case.