尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Roam travel itinerary app
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A travel planner for people who actually take the trip. You collect places on a
map, drop them onto days, and end up with an agenda you can follow hour by hour
— with the bookings, the budget and the entry rules attached to it.
Built and run by one person. Live at https://roam-roan.vercel.app.
Collecting places. Search anywhere in the world from the map, save what you
like, and it becomes a pin with its photograph, opening hours, rating and price
range. Anything saved can be dropped onto a day later, or never.檢視完整 README ↗A travel planner for people who actually take the trip. You collect places on a map, drop them onto days, and end up with an agenda you can follow hour by hour — with the bookings, the budget and the entry rules attached to it.
Built and run by one person. Live at https://roam-roan.vercel.app.
| Screen | What it is for |
|---|---|
| Journeys | Every journey you have, upcoming first, plus a strip of your year and the ones you have taken. |
| Agenda | One day at a time: what you are doing, in order, with the weather, a small map, and the gaps between things. |
| Plan | The whole journey as columns — your lists on the left, then every day. Drag a place onto a day. |
| Map | Everything you have saved for this journey, filtered by saved or scheduled and by kind. |
Collecting places. Search anywhere in the world from the map, save what you like, and it becomes a pin with its photograph, opening hours, rating and price range. Anything saved can be dropped onto a day later, or never.
Planning a day. Cards sit in clock order. Tap the time on a card to set a start, an end and a length, or one of Morning / Lunch / Afternoon / Evening, or no time at all. The day re-sorts itself and offers an undo. Free gaps between things are tappable: "1h free · add".
Bookings. Upload a flight or hotel confirmation and Claude reads it into cards on the right day, with the confirmation number and the file kept on the card. Every attachment is listed in one place and opens in the app.
Ideas. Paste a link from TikTok, Instagram, YouTube or anywhere else. Roam keeps it, plays it in place, and lets you promote it into a journey as a real place when you decide to go.
What it will cost. The Estimate builds a budget from the journey itself: flights, nights, meals, car, excursions. It knows the destination's currency, uses the day's exchange rate, reads prices off attached tickets, and looks up the ones it cannot find. Every figure is editable and says where it came from.
Getting in. For each journey Roam checks what your passports need — visa, forms, onward ticket, passport validity, government travel advisory — from the Government of Canada's own pages, and re-checks as the date approaches. Children travelling without both parents get the consent-letter reminder and the form.
Sharing. Invite people by email or by link. A guest sees the journey, its days, notes and bookings, and nothing else you own. A co-host can edit it.
On your phone. Roam installs to the home screen and works offline: what you change without signal is queued and sent when you are back.
Next.js 14 (App Router) and TypeScript, Tailwind, deployed on Vercel. Supabase holds the database, sign-in and files. Maps are Mapbox; places, photos and hours are Google Places; the assistant, the price lookups, the booking parser and the entry checks are Claude; cover photographs are Unsplash; invites go through Resend; payment through Stripe.
Sign in with Google or with an email link.
npm install
npm run dev # http://localhost:3000
npm run build # must pass before anything is pushed
Environment variables live in Vercel. The database is in Montréal.
Three files carry them, and they are not decoration:
CLAUDE.md — every convention and trap learned the hard way: the schema
truths, what breaks the phone layout, how the sheets and menus behave, why
the day map stacks pins, why place photos expire after 30 days. Read it
before changing anything.AGENTS.md — the design brief: colours, type, and the language ("journey",
never "trip").~/.claude/skills/roam-ship/SKILL.md — how a change ships: build, gate,
push, verify live, write down what was learned.Two that are easy to get wrong:
lib/api/guard.ts: a signed-in user, then a daily allowance per
person. Five routes once answered anyone on the internet.Small and real: a handful of users, a few thousand cards, one person's family trips. The work to take it further is written up in the scale audit — published plans, error tracking, a mail domain — and the code side of that is done.