OpenTrip

agent
Security Audit
Fail
Health Warn
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Fail
  • exec() — Shell command execution in .agents/skills/kill-ai-slop/scripts/scan.mjs
  • spawnSync — Synchronous process spawning in .agents/skills/kill-ai-slop/scripts/scan.test.mjs
  • process.env — Environment variable access in apps/api/prisma/mysql/apply-schema.ts
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Collaborative travel planning SaaS — plan itineraries on a map, vote on stops, and split expenses fairly.

README.md

OpenTrip logo

OpenTrip

Plan trips together. Split everything.

Collaborative travel planning for small groups — map itineraries, day schedules, shared expenses, reservations, and an AI trip companion in one place.

简体中文 · Features · Screenshots · Quick start · Tech stack

TypeScript React Hono PostgreSQL PWA i18n

OpenTrip promo video


Why OpenTrip?

Group travel planning is usually a mess of group chats, spreadsheets, and half-updated maps. OpenTrip keeps the whole trip in one shared workspace:

  • See the route — stops on a live map with day filters, weather, and place search
  • Own the day — a schedule board per day so timing and transit stay clear
  • Spend fairly — expenses, balances, and minimal settle-up transfers
  • Decide together — votes, comments, and invites for the whole crew
  • Ask the agent — a trip-aware AI companion when you need a second opinion

The seed demo is Japan · Autumn — Tokyo → Kyoto → Osaka, 5 days, 25 stops, and a full expense ledger ready to explore the moment you sign in.


Features

Capability What you get
Map itinerary Numbered stop markers, per-day routes, place search, stop detail with votes & comments
Schedule board Day columns, inline stop cards, transit segments, weather hints
Budget & settle-up Shared expenses, per-member balances, minimal repayment graph, multi-currency display
Reservations Track bookings and confirmations alongside the itinerary
Trip agent Shared AI chat per trip — ask about the plan, get suggestions, apply changes with approval
Collaboration Invite links, member roles, stop voting, threaded comments
Desktop + PWA Full desktop planner and a mobile-first PWA (installable; WeChat mini-program shell available)
i18n English and 中文, switchable at any time

Screenshots

Planner shots use the Japan · Autumn demo. The trips home also shows other demo trips (Iceland, Lisbon, Bali) with Unsplash covers.

Trips home

Browse active trips, cover photos, members, and status at a glance.

Desktop PWA
Desktop trips home PWA trips home

Map itinerary

Plan the route on a map — filter by day, open a stop, search places.

Desktop PWA
Desktop map itinerary PWA map itinerary

Schedule

Day-by-day board of sights, food, transit, and stays.

Desktop PWA
Desktop schedule board PWA schedule board

Budget & settle-up

Log who paid what — OpenTrip computes balances and the fewest transfers to settle.

Desktop PWA
Desktop budget and settle-up PWA budget and settle-up

Stop detail & collaboration

Votes, comments, costs, and weather on every stop.

Desktop stop detail with votes and comments

Trip agent

A shared AI companion for the trip — ask in chat, review suggestions, approve writes.

Desktop PWA
Desktop trip agent drawer PWA trip agent sheet

Reservations

Keep bookings next to the plan so nothing falls through the cracks.

Desktop PWA
Desktop reservations PWA reservations

Tech stack

Layer Stack
Web React 19 · TypeScript · Vite · Feature-Sliced Design · Tailwind · MapLibre
API Hono · Domain-Driven Design + Hexagonal architecture · Better Auth
Data PostgreSQL · Prisma Migrate
AI Vercel AI SDK · trip-scoped tools with human approval
Runtime Cloudflare (Pages + Workers + Hyperdrive) or Docker Compose
Clients Responsive SPA + PWA · WeChat mini-program WebView shell

Quick start

Requirements: Node.js ≥ 20, pnpm, Docker (for local Postgres).

# 1. Install & env
make setup          # pnpm install, .env, Postgres, migrate, seed

# 2. Develop
make dev            # web → http://localhost:5170  ·  api → http://localhost:8780

Create an account in the UI. A seeded Japan · Autumn trip is available so you can explore the full planner immediately.

# Useful commands
make db-seed        # re-seed demo trip data
make check          # typecheck + lint + test + build
make deploy         # deployment pointers (Cloudflare / Docker)

Project layout

apps/
  web/          React SPA + PWA
  api/          Hono API (DDD / Hexagonal)
  miniapp/      WeChat native shell (hosts the PWA)
packages/       Shared libraries (agent UI catalog, observability)
deploy/         Cloudflare + Docker deploy configs
docs/           Architecture & operations notes

Contributing

Issues and pull requests are welcome. Please:

  1. Keep code, comments, and commit messages in English
  2. Follow Conventional Commits — e.g. feat(budget): add multi-currency settle-up display
  3. Run make check before opening a PR

License

Licensed under the Apache License 2.0.


Made for people who travel with friends — and want the plan to stay fair.

Reviews (0)

No results found