The open-source AI travel planning platform.
Plan trips through conversation. Collaborate in real-time. Share with anyone.
Screenshots · Features · Tech Stack · Getting Started · Contributing
atrip.me is a full-stack travel planning platform where you chat with AI to build complete trip itineraries — flights, hotels, restaurants, activities — all visualized on interactive maps. Plan solo or collaborate with friends in real-time, then share your trips with a single link.
AI Trip Planning — Describe your ideal trip in natural language. AI builds a full itinerary with scheduling, budgets, and alternatives. Supports OpenAI, Gemini, and Claude.
Itinerary Builder — Day-by-day timeline with inline editing, drag-and-drop reordering, and activity voting for group decisions. Integrates flights and accommodations directly.
Place Enrichment — Every destination is auto-enriched with photos, reviews, pricing, and opening hours from multiple data sources.
Interactive Maps — Visualize your entire trip on Mapbox-powered maps. See routes, distances, and nearby points of interest at a glance.
Real-time Collaboration — Invite friends to plan together. See changes instantly. Vote on activities to reach group consensus.
Smart Budgeting — Track expenses across categories with multi-currency support. Set budgets per day or per trip.
Social Platform — Share trips via public links, write travel stories, follow other travelers, collect favorite itineraries, and earn achievements.
Frontend — Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Radix UI · Zustand · Mapbox GL · Framer Motion
Backend — Express.js 5 · Prisma 6 · PostgreSQL 16 + PostGIS · Redis 7 · BullMQ · LangChain
Infrastructure — Docker · AWS S3 · Novu · Stripe · SearXNG
. ← Express.js API (backend at root)
├── src/modules/ ← 17 feature modules (clean architecture)
│ ├── ai/ AI planning & chat
│ ├── trip/ Trip management & sharing
│ ├── place/ Place enrichment pipeline
│ ├── flight/ Flight search (Amadeus)
│ ├── expense/ Budget tracking
│ └── ... auth, chat, explore, weather, etc.
├── prisma/ ← Database schema (30+ models)
├── frontend/ ← Next.js client (subdirectory)
│ └── src/
│ ├── app/ App Router pages
│ ├── components/ UI components
│ ├── stores/ Zustand state
│ └── services/ API layer
└── docs/ ← Documentation & screenshots
Each backend module follows a layered pattern: application/ → domain/ → infrastructure/ → interfaces/http/
- Node.js 22 LTS
- Docker
- pnpm (for frontend)
# Clone
git clone https://github.com/vietlinhh02/atrips.com.git
cd atrips.com
# Start PostgreSQL, Redis, SearXNG
docker compose up -d
# Backend (runs from project root)
cp .env.example .env # configure your API keys
npm install
npx prisma generate
npx prisma migrate dev
npm run dev
# Frontend (in a second terminal)
cd frontend
cp .env.example .env.local # configure frontend vars
pnpm install
pnpm devSee .env.example for all required environment variables.
We welcome contributions! See the Contributing Guide for details.
- Fork the repo
- Create your branch (
git checkout -b feat/your-feature) - Commit changes (
git commit -m 'feat: add your feature') - Push (
git push origin feat/your-feature) - Open a Pull Request
Licensed under Apache 2.0.
Built by vietlinhh02








