PITTSBURGH --:--
0720 X 0450 Y
← All projects

Poreia

Independent product · 2026

Prompt bar and example requests over the home screen's photograph (Pexels)Product preview

A travel planner that turns one sentence into a multi-day itinerary with costs, a map, and an editable day-by-day plan. The model's answer has to pass a schema and a destination check before anyone sees it.

Built solo. One model call per request, checked by code rather than by a second model. Itinerary quality has not been formally evaluated.

Open live demo View repository
Implementation notes

Start from a sentence.

The home screen asks for one sentence: a place, a mood, a length, or a budget. The result is a day-by-day plan with times, places, cost estimates, and a budget breakdown, drawn on a map and open to drag-and-drop reordering.

Trips are saved to an account, can be refined with follow-up requests, and can be shared.

Treat the model's answer as untrusted input.

A Hono service on Cloudflare Workers sends the request to an OpenAI model through Pollinations, with a fixed JSON shape and a low temperature. The reply is parsed and validated with Zod. Anything that fails becomes an error instead of a half-built trip.

The service then compares the itinerary's destination with the place the user named. If the model wandered elsewhere, it asks once more with an explicit correction. A refinement has to stay in the current trip's destination, and the notes a traveller wrote for each day survive regeneration.

One model, checked by code.

The checks are ordinary code, not a second model. The repository includes integration tests for the trips API and a rate limit on trip requests. The quality of the itineraries themselves has not been evaluated.

Years
2026
Type
AI product
Context
Independent product
Stack
Next.js, React, TypeScript, Hono, Cloudflare Workers, Supabase, PostgreSQL, Drizzle, Zod, Leaflet